· 6 years ago · Mar 07, 2020, 10:36 PM
1
2[app]
3
4 (str) Title of your application
5title = All In One
6
7 (str) Package name
8package.name = AllInOne
9
10 (str) Package domain (needed for android/ios packaging)
11package.domain = org.Moh
12
13 (str) Source code where the main.py live
14source.dir = .
15
16 (list) Source files to include (let empty to include all the files)
17source.include_exts = py,png,jpg,kv,atlas
18
19 (list) List of inclusions using pattern matching
20source.include_patterns = assets/*,images/*.png
21
22 (list) Source files to exclude (let empty to not exclude anything)
23source.exclude_exts = spec
24
25 (list) List of directory to exclude (let empty to not exclude anything)
26source.exclude_dirs = tests, bin
27
28 (list) List of exclusions using pattern matching
29source.exclude_patterns = license,images/*/*.jpg
30
31 (str) Application versioning (method 1)
32version = 0.1
33
34 (str) Application versioning (method 2)
35 version.regex = __version__ = ['"](.*)['"]
36 version.filename = %(source.dir)s/main.py
37
38 (list) Application requirements
39 comma separated e.g. requirements = sqlite3,kivy
40requirements = python3,kivy,kivymd,mpmath,sympy
41
42(str) Custom source folders for requirements
43 Sets custom source for any requirements with recipes
44 requirements.source.kivy = ../../kivy
45
46 (list) Garden requirements
47garden_requirements =
48
49 (str) resplash of the application
50presplash.filename = %(source.dir)s/data/presplash.png
51
52 (str) Icon of the application
53icon.filename = %(source.dir)s/data/icon.png
54
55 (str) Supported orientation (one of landscape, sensorLandscape, portrait or all)
56orientation = portrait
57
58 (list) List of service to declare
59services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY
60
61
62 OSX Specific
63
64
65 author = © Copyright Info
66
67 change the major version of python used by the app
68osx.python_version = 3
69
70 Kivy version to use
71osx.kivy_version = 1.9.1
72
73
74 Android specific
75
76
77 (bool) Indicate if the application should be fullscreen or not
78fullscreen = 1
79
80 (string) Presplash background color (for new android toolchain)
81Supported formats are: #RRGGBB #AARRGGBB or one of the following names:
82 red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,
83 darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,
84 olive, purple, silver, teal.
85android.presplash_color = #FFFFFF
86
87 (list) Permissions
88android.permissions = INTERNET
89
90 (int) Target Android API, should be as high as possible.
91android.api = 27
92
93 (int) Minimum API your APK will support.
94android.minapi = 21
95
96 (int) Android SDK version to use
97android.sdk = 20
98
99 (str) Android NDK version to use
100android.ndk = 17c
101
102 (int) Android NDK API to use. This is the minimum API your app will support, it should usually match android.minapi.
103android.ndk_api = 21
104
105 (bool) Use --private data storage (True) or --dir public storage (False)
106android.private_storage = True
107
108 (str) Android NDK directory (if empty, it will be automatically downloaded.)
109android.ndk_path =
110
111 (str) Android SDK directory (if empty, it will be automatically downloaded.)
112android.sdk_path =
113
114 (str) ANT directory (if empty, it will be automatically downloaded.)
115android.ant_path =
116
117 (bool) If True, then skip trying to update the Android sdk
118 This can be useful to avoid excess Internet downloads or save time
119 when an update is due and you just want to test/build your package
120 android.skip_update = False
121
122 (bool) If True, then automatically accept SDK license
123 agreements. This is intended for automation only. If set to False,
124 the default, you will be shown the license when first running
125 buildozer.
126 android.accept_sdk_license = False
127
128 (str) Android entry point, default is ok for Kivy-based app
129android.entrypoint = org.renpy.android.PythonActivity
130
131 (str) Android app theme, default is ok for Kivy-based app
132 android.apptheme = "@android:style/Theme.NoTitleBar"
133
134 (list) Pattern to whitelist for the whole project
135android.whitelist =
136
137 (str) Path to a custom whitelist file
138android.whitelist_src =
139
140 (str) Path to a custom blacklist file
141android.blacklist_src =
142
143 (list) List of Java .jar files to add to the libs so that pyjnius can access
144 their classes. Don't add jars that you do not need, since extra jars can slow
145 down the build process. Allows wildcards matching, for example:
146 OUYA-ODK/libs/*.jar
147android.add_jars = foo.jar,bar.jar,path/to/more/*.jar
148
149 (list) List of Java files to add to the android project (can be java or a
150 directory containing the files)
151android.add_src =
152
153 (list) Android AAR archives to add (currently works only with sdl2_gradle
154 bootstrap)
155android.add_aars =
156
157 (list) Gradle dependencies to add (currently works only with sdl2_gradle
158 bootstrap)
159android.gradle_dependencies =
160
161 (list) add java compile options
162 this can for example be necessary when importing certain java libraries using the 'android.gradle_dependencies' option
163 see https://developer.android.com/studio/write/java8-support for further information
164 android.add_compile_options = "sourceCompatibility = 1.8", "targetCompatibility = 1.8"
165
166 (list) Gradle repositories to add {can be necessary for some android.gradle_dependencies}
167 please enclose in double quotes
168 e.g. android.gradle_repositories = "maven { url 'https://kotlin.bintray.com/ktor' }"
169android.add_gradle_repositories =
170
171 (list) packaging options to add
172 see https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
173 can be necessary to solve conflicts in gradle_dependencies
174 please enclose in double quotes
175 e.g. android.add_packaging_options = "exclude 'META-INF/common.kotlin_module'", "exclude 'META-INF/*.kotlin_module'"
176android.add_gradle_repositories =
177 (list) Java classes to add as activities to the manifest.
178android.add_activites = com.example.ExampleActivity
179
180 (str) OUYA Console category. Should be one of GAME or APP
181 If you leave this blank, OUYA support will not be enabled
182android.ouya.category = GAME
183
184 (str) Filename of OUYA Console icon. It must be a 732x412 png image.
185android.ouya.icon.filename = %(source.dir)s/data/ouya_icon.png
186
187 (str) XML file to include as an intent filters in <activity> tag
188android.manifest.intent_filters =
189
190 (str) launchMode to set for the main activity
191android.manifest.launch_mode = standard
192
193 (list) Android additional libraries to copy into libs/armeabi
194android.add_libs_armeabi = libs/android/*.so
195android.add_libs_armeabi_v7a = libs/android-v7/*.so
196android.add_libs_arm64_v8a = libs/android-v8/*.so
197android.add_libs_x86 = libs/android-x86/*.so
198android.add_libs_mips = libs/android-mips/*.so
199
200 (bool) Indicate whether the screen should stay on
201 Don't forget to add the WAKE_LOCK permission if you set this to True
202android.wakelock = False
203
204 (list) Android application meta-data to set (key=value format)
205android.meta_data =
206
207 (list) Android library project to add (will be added in the
208 project.properties automatically.)
209android.library_references =
210
211 (list) Android shared libraries which will be added to AndroidManifest.xml using <uses-library> tag
212android.uses_library =
213
214 (str) Android logcat filters to use
215android.logcat_filters = *:S python:D
216
217 (bool) Copy library instead of making a libpymodules.so
218android.copy_libs = 1
219
220 (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64
221android.arch = armeabi-v7a
222
223
224 Python for android (p4a) specific
225
226
227 (str) python-for-android fork to use, defaults to upstream (kivy)
228p4a.fork = kivy
229
230 (str) python-for-android branch to use, defaults to master
231p4a.branch = master
232
233 (str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
234p4a.source_dir =
235(str) The directory in which python-for-android should look for your own build recipes (if any)
236p4a.local_recipes =
237
238 (str) Filename to the hook for p4a
239p4a.hook =
240
241 (str) Bootstrap to use for android builds
242 p4a.bootstrap = sdl2
243
244 (int) port number to specify an explicit --port= p4a argument (eg for bootstrap flask)
245p4a.port =
246
247
248
249 iOS specific
250
251
252 (str) Path to a custom kivy-ios folder
253ios.kivy_ios_dir = ../kivy-ios
254 Alternately, specify the URL and branch of a git checkout:
255ios.kivy_ios_url = https://github.com/kivy/kivy-ios
256ios.kivy_ios_branch = master
257
258 Another platform dependency: ios-deploy
259 Uncomment to use a custom checkout
260ios.ios_deploy_dir = ../ios_deploy
261 Or specify URL and branch
262ios.ios_deploy_url = https://github.com/phonegap/ios-deploy
263ios.ios_deploy_branch = 1.7.0
264
265 (str) Name of the certificate to use for signing the debug version
266 Get a list of available identities: buildozer ios list_identities
267ios.codesign.debug = "iPhone Developer: <lastname> <firstname> (<hexstring>)"
268
269 (str) Name of the certificate to use for signing the release version
270ios.codesign.release = %(ios.codesign.debug)s
271
272
273[buildozer]
274
275 (int) Log level (0 = error only, 1 = info, 2 = debug (with command output))
276log_level = 2
277
278 (int) Display warning if buildozer is run as root (0 = False, 1 = True)
279warn_on_root = 1
280 (str) Path to build artifact storage, absolute or relative to spec file
281 build_dir = ./.buildozer
282 (str) Path to build output (i.e. .apk, .ipa) storage
283 bin_dir = ./bin
284 -----------------------------------------------------------------------------
285 List as sections
286
287 You can define all the "list" as [section:key].
288 Each line will be considered as a option to the list.
289 Let's take [app] / source.exclude_patterns.
290 Instead of doing:
291
292[app]
293source.exclude_patterns = license,data/audio/*.wav,data/images/original/*
294
295 This can be translated into:
296
297[app:source.exclude_patterns]
298license
299data/audio/*.wav
300data/images/original/*
301
302
303 -----------------------------------------------------------------------------
304 Profiles
305
306 You can extend section / key with a profile
307 For example, you want to deploy a demo version of your application without
308 HD content. You could first change the title to add "(demo)" in the name
309 and extend the excluded directories to remove the HD content.
310
311[app@demo]
312title = My Application (demo)
313
314[app:source.exclude_patterns@demo]
315images/hd/*
316
317 Then, invoke the command line with the "demo" profile:
318
319buildozer --profile demo android debug`