forked from eliranwong/DartBible-Flutter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pubspec.yaml
240 lines (207 loc) · 10.4 KB
/
pubspec.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
name: unique_bible_app_special
description: UniqueBible.app Special
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
#reguired by null-safe packages
#sdk: ">=2.12.0-0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
#cupertino_icons: ^1.0.1+1
scrollable_positioned_list: ^0.1.8
#shared_preferences: ^0.5.4+1
shared_preferences: ^0.5.12+4
#flutter_launcher_icons: ^0.7.2+1
flutter_launcher_icons: ^0.8.1
#sqflite: ^1.1.6+4
sqflite: ^1.3.2+1
#share: ^0.6.2+1
share: ^0.6.5+4
#swipedetector: ^1.2.0
swipedetector: ^1.2.0
#photo_view: ^0.5.0
photo_view: ^0.10.3
#url_launcher: ^5.2.5
url_launcher: ^5.7.10
flutter_tts: ^1.3.0
large_file_copy: ^0.0.1
#path_provider: ^1.3.0
path_provider: ^1.6.24
#webview_flutter: ^0.3.15+1
webview_flutter: ^1.0.7
permission_handler: ^5.0.1+1
#device_info: ^1.0.0
connectivity: ^2.0.2
lpinyin: ^1.1.0
#pinyinizer: ^1.0.2
lemmatizer: ^0.0.1
# Run the following command:
# flutter pub run flutter_launcher_icons:main
flutter_icons:
android: true
ios: true
image_path: "assets/images/AppIcon.png"
adaptive_icon_foreground: "assets/images/AppIcon_foreground.png"
adaptive_icon_background: "assets/images/AppIcon_background.png"
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
fonts:
- family: Ezra SIL
fonts:
- asset: fonts/sileot.ttf
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
assets:
- assets/bible/
- assets/xRef/
- assets/images/
- assets/timelines/
# Essential files for migration
# android/key.properties
# android/app/build.gradle (manually check and edit "applicationId" [this one must be same as the id specified in Google Play], "flutterVersionCode", "flutterVersionName", "minSdkVersion")
#read https://flutter.dev/docs/deployment/android to add 3 blocks of codes:
#...keystoreProperties ...
#...signingConfigs { ...
#...buildTypes { ... (replace the "debug" one)
# android/app/src/main/AndroidManifest.xml, check the "package" value within the manifest tag on the 1st line, edit the app name in entry "android:label" and add the following 3 permissions after after "</application>":
#<uses-permission android:name="android.permission.INTERNET" />
#<uses-permission android:name="android.permission.ReadExternalStorage" />
#<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
# folder "assets"
# folder "fonts"
# folder "lib"
# file "pubspec.yaml" (make sure to check if "name" and "description" on the first two lines are correct.)
# files that work with plugin "large_file_copy" (read below)
# Notes about plugin "large_file_copy"
# original issue: https://github.com/flutter/flutter/issues/26465
# large files are placed at:
# android > app > src > main > assets
# ios > Runner
# Read https://pub.dev/packages/large_file_copy for setting up large files files.
# Notes about location of font files:
# Folder "fonts" is placed in the root directory of the project.
# Put file "sileot.ttf" in the folder "fonts".
# To work with flutter_tts, e.g. on Mac
# In "android/app/build.gradle", set "minSdkVersion 21" or higher.
# Troubleshooting: Migrate to AndroidX (the quickest way tested):
# 1) Create a new project and copy all essential files from old project.
# 2) Run "flutter pub get" in terminal.
# 3) Run "flutter pub run flutter_launcher_icons:main" in terminal.
# 4) Open the project with Android Studio
# 5) Download & Install "Android 10.0 (Q)" at Menu > Tools > SDK Manager > Android SDK > SDK Platforms
# 6) Download to install or upgrade "Android SDK Build-Tools" & "Google Play Services" at Menu > Tools > SDK Manager > Android SDK > SDK Tools
# 7) Right click folder "android" on the project file tree and select "Flutter > Open Android module in Android Studio" on a new window.
# 8) Update "Gradle plugin" when prompted.
# 9) On the window opened in step (6), select menu "Refactor > Migrate to AndroidX".
# 10) Select "Do Refactor" when usage is found.
# Troubleshooting: plugin "large_file_copy: ^0.0.1" does not work after migration to AndroidX:
# error message, "The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.10 and higher. The following dependencies do not satisfy the required version: project ':large_file_copy' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71"
# A temporary solution: edited manually the line 5 of the file "/Users/Eliran/Documents/flutter/.pub-cache/hosted/pub.dartlang.org/large_file_copy-0.0.1/android/build.gradle" to:
# ext.kotlin_version = '1.3.10'
# Troubleshooting: missing sdk.dir or Android path for compiling plugin:
# In individual plugin folders /Users/Eliran/Documents/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_tts-1.3.0/android
# create a file "local.properties" with the following content
# sdk.dir = /Users/Eliran/Library/Android/sdk
# Alternatively, enter the following command in terminal:
# export ANDROID_HOME=/Users/Eliran/Library/Android/sdk
# Troubleshooting: Transform's input file does not exist: /Users/Eliran/AndroidStudioProjects/unique_bible_app_ultimate/build/app/intermediates/flutter/debug/libs.jar. (See https://issuetracker.google.com/issues/158753935)
# This issue happened when running "flutter build apk", run the following to fix this issue:
# 1) flutter clean
# 2) flutter run --debug
# 3) flutter run --profile
# 4) flutter build apk
# Troubleshooting: key.properties' storefile path in different platforms:
# read https://medium.com/codechai/flutter-andorid-keystore-path-on-different-os-d0fc30a24d4f
# Troubleshooting iOS: build/ios/Release-iphoneos/Runner.app/Frameworks/App.framework/App: errSecInternalComponent
# xcode -> preferences -> accounts -> select the account -> manage certificate -> click on the (+) icon in the bottom left side of the popup window -> ios development / distribution
# Troubleshooting iOS: failed validating due to transparent icon
# Go to Runner > Assets.xcassets
# Change "App Store iOS 1024pt" to a jpeg one. Do not use png for this icon.
# Troubleshooting iOS: large_file_copy not working properly
# make sure when you copy large files under a group in Runner, the following items are selected:
# "Copy items if needed"
# "Create groups" instead of "Create folder references"
# Add to targets > "Runner"
# Troubleshooting iOS > using plugin "simple_permissions" (version 0.1.9):
# Error message during compilation: Specs satisfying the `simple_permissions (from `.symlinks/plugins/simple_permissions/ios`)` dependency were found, but they required a higher minimum deployment target.
# Open file "Runner.xcworkspace" with Xcode
# Select "Runner" on left navigation panel
# Select Project "Runner"
# Select Tab "Info"
# Change "Deployment Target" to 9.3
# Select "Runner > Flutter > AppFrameworkInfo.plist" on left navigation panel
# Change "MinimiumOSVersion" to "9.3"
# Troubleshooting permissions (e.g. internet, read/write)
# For Android apps, in AndroidManifest.xml, add:
#<uses-permission android:name="android.permission.INTERNET" />
#<uses-permission android:name="android.permission.ReadExternalStorage" />
#<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
# For iOS apps, in
#<key>LSSupportsOpeningDocumentsInPlace</key>
#<true/>
#<key>UIFileSharingEnabled</key>
#<true/>
# Common commands to test an app with a connected device (Android / iOS)
# flutter run --debug
# flutter run --profile
# To install the app in a connected Android device:
# flutter build apk
# flutter install
# remarks: "flutter build appbundle" doesn't work with flutter install
# To install the app in a connected iOS device:
# flutter build ios
# flutter install
# To publish and app, check the following links:
# Android: https://flutter.dev/docs/deployment/android
# iOS: https://flutter.dev/docs/deployment/ios