This tool is currently in alpha.
Buildozer is a tool for creating application packages easily.
The goal is to have one "buildozer.spec" file in your app directory, describing your application requirements and settings such as title, icon, included modules etc. Buildozer will use that spec to create a package for Android, iOS, Windows, OSX and/or Linux.
Buildozer currently supports packaging for Android via the python-for-android project, and for iOS via the kivy-ios project. Support for other operating systems is intended in the future.
Note that this tool has nothing to do with the eponymous online build service buildozer.io.
Install buildozer:
# latest dev git clone https://github.com/kivy/buildozer cd buildozer sudo python2.7 setup.py install # via pip (latest stable) sudo pip install buildozer
Go into your application directory and do:
buildozer init # edit the buildozer.spec, then buildozer android debug deploy run
Example of commands:
# buildozer target command buildozer android clean buildozer android update buildozer android deploy buildozer android debug buildozer android release # or all in one (compile in debug, deploy on device) buildozer android debug deploy # set the default command if nothing set buildozer setdefault android debug deploy run
Usage: buildozer [--verbose] [target] [command1] [command2] Available targets: android Android target, based on python-for-android project ios iOS target, based on kivy-ios project. (not working yet.) Global commands (without target): clean Clean the whole Buildozer environment. help Show the Buildozer help. init Create a initial buildozer.spec in the current directory setdefault Set the default command to do when no arguments are given version Show the Buildozer version Target commands: clean Clean the target environment update Update the target dependencies debug Build the application in debug mode release Build the application in release mode deploy Deploy the application on the device run Run the application on the device
See buildozer/default.spec for an up-to-date spec file.
You can override the value of any buildozer.spec config token by
setting an appropriate environment variable. These are all of the
form $SECTION_TOKEN
, where SECTION is the config file section and
TOKEN is the config token to override. Dots are replaced by
underscores.
For example, here are some config tokens from the [app] section of the config, along with the environment variables that would override them.
title
->$APP_TITLE
package.name
->$APP_PACKAGE_NAME
android.p4a_dir
->$APP_ANDROID_P4A_DIR
If you need assistance, you can ask for help on our mailing list:
- User Group : https://groups.google.com/group/kivy-users
- Email : [email protected]
We also have an IRC channel:
- Server : irc.freenode.net
- Port : 6667, 6697 (SSL only)
- Channel : #kivy
We love pull requests and discussing novel ideas. Check out our contribution guide and feel free to improve buildozer.
The following mailing list and IRC channel are used exclusively for discussions about developing the Kivy framework and its sister projects:
- Dev Group : https://groups.google.com/group/kivy-dev
- Email : [email protected]
IRC channel:
- Server : irc.freenode.net
- Port : 6667, 6697 (SSL only)
- Channel : #kivy-dev
Buildozer is released under the terms of the MIT License. Please refer to the LICENSE file.