Skip to content

Commit 4465b19

Browse files
committed
build: add buildozer.spec for Android APK generation
Add buildozer configuration file for building Echo Chamber as an Android APK. This file configures: - App metadata (name, version, package name) - Android build settings (API 33, minAPI 21) - Required permissions (Internet, storage) - Build architecture (arm64-v8a, armeabi-v7a) Force-added despite .gitignore since buildozer.spec is a configuration file that should be version controlled, unlike PyInstaller .spec files.
1 parent 9988fb4 commit 4465b19

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

buildozer.spec

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
[app]
2+
3+
# (str) Title of your application
4+
title = Echo Chamber
5+
6+
# (str) Package name
7+
package.name = echochamber
8+
9+
# (str) Package domain (needed for android/ios packaging)
10+
package.domain = org.echochamber
11+
12+
# (str) Source code where the main.py live
13+
source.dir = .
14+
15+
# (list) Source files to include (let empty to include all the files)
16+
source.include_exts = py,png,jpg,kv,atlas,json
17+
18+
# (str) Application versioning (method 1)
19+
version = 0.1.0
20+
21+
# (list) Application requirements
22+
# comma separated e.g. requirements = sqlite3,kivy
23+
requirements = python3,kivy
24+
25+
# (str) Custom source folders for requirements
26+
# Sets custom source for any requirements with recipes
27+
# requirements.source.kivy = ../../kivy
28+
29+
# (list) Garden requirements
30+
#garden_requirements =
31+
32+
# (str) Presplash of the application
33+
#presplash.filename = %(source.dir)s/data/presplash.png
34+
35+
# (str) Icon of the application
36+
#icon.filename = %(source.dir)s/data/icon.png
37+
38+
# (str) Supported orientation (landscape, sensorLandscape, portrait or all)
39+
orientation = portrait
40+
41+
# (bool) Indicate if the application should be fullscreen or not
42+
fullscreen = 0
43+
44+
# (list) Permissions
45+
android.permissions = INTERNET,WRITE_EXTERNAL_STORAGE,READ_EXTERNAL_STORAGE
46+
47+
# (int) Target Android API, should be as high as possible.
48+
android.api = 33
49+
50+
# (int) Minimum API your APK will support.
51+
android.minapi = 21
52+
53+
# (str) Android NDK version to use
54+
android.ndk = 25b
55+
56+
# (bool) Use --private data storage OR --dir public storage
57+
android.private_storage = True
58+
59+
# (str) Android NDK directory (if empty, it will be automatically downloaded.)
60+
#android.ndk_path =
61+
62+
# (str) Android SDK directory (if empty, it will be automatically downloaded.)
63+
#android.sdk_path =
64+
65+
# (str) ANT directory (if empty, it will be automatically downloaded.)
66+
#android.ant_path =
67+
68+
# (bool) If True, then skip trying to update the Android sdk
69+
# This can be useful to avoid excess Internet downloads or save time
70+
# when an update is due and you just want to test/build your package
71+
android.skip_update = False
72+
73+
# (bool) If True, then automatically accept SDK license
74+
# agreements. This is intended for automation only. If set to False,
75+
# the default, you will be shown the license when first running
76+
# buildozer.
77+
android.accept_sdk_license = True
78+
79+
# (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64
80+
android.archs = arm64-v8a,armeabi-v7a
81+
82+
[buildozer]
83+
84+
# (int) Log level (0 = error only, 1 = info, 2 = debug (with command output))
85+
log_level = 2
86+
87+
# (int) Display warning if buildozer is run as root (0 = False, 1 = True)
88+
warn_on_root = 1
89+
90+
# (str) Path to build artifact storage, absolute or relative to spec file
91+
build_dir = ./.buildozer
92+
93+
# (str) Path to build output (i.e. .apk, .ipa) storage
94+
bin_dir = ./bin

0 commit comments

Comments
 (0)