Generic Python packager for Android and iOS
Find a file
Ryan Pessa f200b836a9 Merge pull request #335 from kived/build-dirs
improve build directory handling, add values to default.spec
2016-05-08 14:32:09 -05:00
buildozer use default values as example rather than stating defaults 2016-05-08 14:31:49 -05:00
docs doc: grammar tweaks to contribute.rst 2016-02-25 21:09:40 +02:00
.gitignore correctly update and download Android SDK with tools/platform-tools/build-tools if available. And install the API if necessary. closes #101, #21, #89. 2014-04-08 17:56:51 +02:00
CHANGELOG.md update changelog.md 2016-01-07 18:46:10 +01:00
LICENSE Updated Licence Year 2016-01-06 03:11:29 +05:30
MANIFEST.in reference the changelog.md in the manifest.in 2015-01-27 17:16:30 +01:00
README.rst fix rst link 2015-11-03 17:00:22 +02:00
setup.py add python 3.4 and 3.5 classifiers 2016-02-26 20:05:59 +02:00

Buildozer
=========

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
<http://github.com/kivy/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 <http://buildozer.io />`_.

Usage example
-------------

#. 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
-----

::

    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



buildozer.spec
--------------

See `buildozer/default.spec <https://raw.github.com/kivy/buildozer/master/buildozer/default.spec>`_ for an up-to-date spec file.


Default config
--------------

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``

Support
-------

If you need assistance, you can ask for help on our mailing list:

* User Group : https://groups.google.com/group/kivy-users
* Email      : kivy-users@googlegroups.com

We also have an IRC channel:

* Server  : irc.freenode.net
* Port    : 6667, 6697 (SSL only)
* Channel : #kivy

Contributing
------------

We love pull requests and discussing novel ideas. Check out our
`contribution guide <http://kivy.org/docs/contribute.html>`_ 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     : kivy-dev@googlegroups.com

IRC channel:

* Server  : irc.freenode.net
* Port    : 6667, 6697 (SSL only)
* Channel : #kivy-dev

License
-------

Buildozer is released under the terms of the MIT License. Please refer to the
LICENSE file.