Skip to main content

Generic Python packager for Android / iOS and Desktop

Project description

Buildozer
=========

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. iOS and OSX are still under work.

For Android: please have a look at `Android-SDK-NDK-Informations
<https://github.com/kivy/kivy/wiki/Android-SDK-NDK-Informations>`_. Please note that
the default SDK/NDK coded in Buildozer works for target Python 2.
For target Python 3, use appropriate SDK/NDK as per the documentation, and ensure you
have `python3` in your requirements.
You can still use Crystax Python 3, see `Installing Buildozer with target Python 3
(CrystaX) <#installing-buildozer-with-target-python-3-crystax>`_.
For host Python, both versions are seamlessly supported.

We provide a ready-to-use `Virtual Machine for Virtualbox <https://kivy.org/#download>`_.

Note that this tool has nothing to do with the eponymous online build service
`buildozer.io <http://buildozer.io />`_.

Installing Buildozer with target Python 3 (default):
----------------------------------------------------

#. Install buildozer::

# via pip (latest stable, recommended)
sudo pip install buildozer

# latest dev version
sudo pip install https://github.com/kivy/buildozer/archive/master.zip

# git clone, for working on buildozer
git clone https://github.com/kivy/buildozer
cd buildozer
python setup.py build
sudo pip install -e .

#. Go into your application directory and run::

buildozer init
# edit the buildozer.spec, then
buildozer android debug deploy run

Installing Buildozer with target Python 2:
-----------------------------------------

#. Follow the same installation and buildozer init as Python 3

#. Make sure the following lines are in your buildozer.spec file.::

# Changes python3 to python2
requirements = python2,kivy

#. Finally, build, deploy and run the app on your phone::

buildozer android debug deploy run


Installing Buildozer with target Python 3 (CrystaX, deprecated):
----------------------------------------------------------------

After following the steps above to install buildozer and generate the default spec file,
you need to setup Crystax NDK as described below.

#. Download and extract the Crystax NDK somewhere (~/.buildozer/crystax-ndk is one option): https://www.crystax.net/en/download

#. Make sure the following lines are in your buildozer.spec file.::

# Require python3crystax:
requirements = python3crystax,kivy

# Point to the directory where you extracted the crystax-ndk:
android.ndk_path = <Your install path here. Use ~ for home DIR>

#. Finally, build, deploy and run the app on your phone::

buildozer android debug deploy run



Buildozer Docker image
----------------------

A Dockerfile is available to use buildozer through a Docker environment.

#. Build with::

docker build --tag=buildozer .

#. Run with::

docker run --volume "$(pwd)":/home/user/hostcwd buildozer --version


Examples of Buildozer 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 [--profile <name>] [--verbose] [target] <command>...
buildozer --version

Available targets:
android Android target, based on python-for-android project
ios iOS target, based on kivy-ios project
android_old Android target, based on python-for-android project (old toolchain)

Global commands (without target):
distclean Clean the whole Buildozer environment.
help Show the Buildozer help.
init Create a initial buildozer.spec in the current directory
serve Serve the bin directory via SimpleHTTPServer
setdefault Set the default command to run 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
serve Serve the bin directory via SimpleHTTPServer

Target "android_old" commands:
adb Run adb from the Android SDK. Args must come after --, or
use --alias to make an alias
logcat Show the log from the device

Target "ios" commands:
list_identities List the available identities to use for signing.
xcode Open the xcode project.

Target "android" commands:
adb Run adb from the Android SDK. Args must come after --, or
use --alias to make an alias
logcat Show the log from the device
p4a Run p4a commands. Args must come after --, or use --alias
to make an alias



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``
- ``p4a.source_dir`` -> ``$APP_P4A_SOURCE_DIR``

Buildozer Virtual Machine
-------------------------

The current virtual machine (available via https://kivy.org/downloads/) allow
you to have a ready to use vm for building android application.

Using shared folders
++++++++++++++++++++

If the Virtualbox Guest tools are outdated, install the latest one:

- in the Virtualbox: `Devices` -> `Install Guest Additions CD images`
- in the guest/linux: Go to the cdrom and run the installer
- reboot the vm

VirtualBox filesystem doesn't support symlink anymore (don't
try the setextradata solution, it doesn't work.). So you must
do the build outside the shared folder. One solution:

- `sudo mkdir /build`
- `sudo chown kivy /build`
- In your buildozer.spec, section `[buildozer]`, set `build_dir = /build/buildozer-myapp`

Using your devices via the VM
+++++++++++++++++++++++++++++

There is a little icon on the bottom left that represent an USB plug.
Select it, and select your android device on it. Then you can check:

- `buildozer android adb -- devices`

If it doesn't, use Google. They are so many differents way / issues
depending your phone that Google will be your only source of
information, not us :)

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.


# Change Log

## [0.35](https://github.com/kivy/buildozer/tree/0.35) (2018-10-24)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.34...0.35)

**Fixed bugs:**

- Buildozer should not regex/hack install\_reqs [\#722](https://github.com/kivy/buildozer/issues/722)

**Closed issues:**

- Command failed: /usr/bin/python -m pythonforandroid.toolchain create... [\#727](https://github.com/kivy/buildozer/issues/727)
- buildozer fails at installing platfrom [\#726](https://github.com/kivy/buildozer/issues/726)
- Unable to build APK [\#725](https://github.com/kivy/buildozer/issues/725)
- Buildozer APK not working: OS X, Docker, or fresh Ubuntu 16.04 [\#723](https://github.com/kivy/buildozer/issues/723)
- gcc Segmentation Fault [\#720](https://github.com/kivy/buildozer/issues/720)
- Error debugging for android [\#719](https://github.com/kivy/buildozer/issues/719)
- ndk\_platform doesn't exist \(when switching to API = 28\) [\#717](https://github.com/kivy/buildozer/issues/717)
- FileNotFoundError: \[Errno 2\] \(SOLVED\) - It was Encoding Error [\#715](https://github.com/kivy/buildozer/issues/715)
- SDL\_JAVA\_PACKAGE\_PATH error? [\#714](https://github.com/kivy/buildozer/issues/714)
- Python3Crystax instructions in README [\#710](https://github.com/kivy/buildozer/issues/710)
- Bug or support request? [\#708](https://github.com/kivy/buildozer/issues/708)
- build requirement failed [\#701](https://github.com/kivy/buildozer/issues/701)
- I am using Virtual Machine provided in the official kivy website for building android APK, this is the part of log file [\#696](https://github.com/kivy/buildozer/issues/696)
- App minimizes instantly after launching. [\#695](https://github.com/kivy/buildozer/issues/695)
- Aidl not detected [\#694](https://github.com/kivy/buildozer/issues/694)
- python 3 ssl [\#690](https://github.com/kivy/buildozer/issues/690)
- Is there something like multiprocessing? [\#685](https://github.com/kivy/buildozer/issues/685)
- Kivy in pyCharm [\#682](https://github.com/kivy/buildozer/issues/682)
- Toolchain error. Help,please! [\#678](https://github.com/kivy/buildozer/issues/678)
- virtual machine does not compile apk Fails with errors [\#677](https://github.com/kivy/buildozer/issues/677)
- An error in Buildozer Apk \(Python Kivy\) Help PLZ! [\#676](https://github.com/kivy/buildozer/issues/676)
- App crashes on android but works fine in idle window using buildozer [\#675](https://github.com/kivy/buildozer/issues/675)
- Pyjnius exception Adbuddiz class not found [\#661](https://github.com/kivy/buildozer/issues/661)
- Buildozer failed to execute the last command \#/usr/bin/python3 -m pythonforandroid.toolchain create --dist\_name=blueb --bootstrap=sdl2 --requirements=python3crystax,kivy --arch x86 --copy-libs --color=always --storage-dir=/home/jp/Desktop/BlueB/.buildozer/android/platform/build [\#654](https://github.com/kivy/buildozer/issues/654)
- java.lang.ClassNotFoundException: sun.misc.BASE64Encoder [\#639](https://github.com/kivy/buildozer/issues/639)
- IOError: \[Errno 2\] No such file or directory: [\#636](https://github.com/kivy/buildozer/issues/636)
- App crashes with aws boto3 [\#635](https://github.com/kivy/buildozer/issues/635)
- APK Immediately Closes After Opening in Debug, Release, and Zipaligned & Signed Versions [\#629](https://github.com/kivy/buildozer/issues/629)
- Using Python/Buildozer to compile Kivy for Android [\#628](https://github.com/kivy/buildozer/issues/628)
- "configure: error: C compiler cannot create executables See `config.log' for more details" \(\# Command failed: ./distribute.sh -m "kivy" -d "pollygot"\) [\#627](https://github.com/kivy/buildozer/issues/627)
- "OSError: \[Errno 30\] Read-only file system" \(\# Command failed: virtualenv --python=python2.7 ./venv\) [\#626](https://github.com/kivy/buildozer/issues/626)
- Java compiling issue: buildozer uses obsolete source value 1.5 [\#619](https://github.com/kivy/buildozer/issues/619)
- Cloning into 'python-for-android-new-toolchain'... [\#618](https://github.com/kivy/buildozer/issues/618)
- Failed to build application: 'WindowInfoX11' is not a type identifier [\#616](https://github.com/kivy/buildozer/issues/616)
- Sudo issue\[closed\] [\#615](https://github.com/kivy/buildozer/issues/615)
- buildozer-vm-2 installed from scratch ABENDS [\#611](https://github.com/kivy/buildozer/issues/611)
- ASCII decode problem [\#608](https://github.com/kivy/buildozer/issues/608)
- error: could not delete 'build/lib.linux-x86\_64-2.7/buildozer/targets/android.py': Permission denied [\#607](https://github.com/kivy/buildozer/issues/607)
- APK Build Failing with Python 3.6 [\#605](https://github.com/kivy/buildozer/issues/605)
- IOError: \[Errno 2\] No such file or directory: u'/home/kivy/buildozer/.buildozer/android/platform/build/... [\#603](https://github.com/kivy/buildozer/issues/603)
- Feature Request: Dockerfile or image in dockerhub [\#589](https://github.com/kivy/buildozer/issues/589)
- Buildozer debug error. [\#545](https://github.com/kivy/buildozer/issues/545)

**Merged pull requests:**

- Fix \#645 [\#729](https://github.com/kivy/buildozer/pull/729) ([tito](https://github.com/tito))
- Enable Support app [\#728](https://github.com/kivy/buildozer/pull/728) ([dessant](https://github.com/dessant))
- Updates p4a deps parsing [\#724](https://github.com/kivy/buildozer/pull/724) ([AndreMiras](https://github.com/AndreMiras))
- Improved error handling if p4a setup.py can't be read [\#721](https://github.com/kivy/buildozer/pull/721) ([inclement](https://github.com/inclement))
- Various spelling corrections [\#718](https://github.com/kivy/buildozer/pull/718) ([Zen-CODE](https://github.com/Zen-CODE))
- Updates Python 3 install instructions, fixes \#710 [\#711](https://github.com/kivy/buildozer/pull/711) ([AndreMiras](https://github.com/AndreMiras))
- Remove obsolete sh package dependency [\#705](https://github.com/kivy/buildozer/pull/705) ([Cheaterman](https://github.com/Cheaterman))
- Changes how is\_gradle\_build is detected. [\#700](https://github.com/kivy/buildozer/pull/700) ([rammie](https://github.com/rammie))
- Cleans installation docs [\#689](https://github.com/kivy/buildozer/pull/689) ([AndreMiras](https://github.com/AndreMiras))
- Adds issue template with basic required info [\#688](https://github.com/kivy/buildozer/pull/688) ([AndreMiras](https://github.com/AndreMiras))
- buildozer Dockerfile, fixes \#589 [\#681](https://github.com/kivy/buildozer/pull/681) ([AndreMiras](https://github.com/AndreMiras))
- Removes few unused variables [\#680](https://github.com/kivy/buildozer/pull/680) ([AndreMiras](https://github.com/AndreMiras))
- Fixed a typo pointed out by AndreMiras [\#664](https://github.com/kivy/buildozer/pull/664) ([inclement](https://github.com/inclement))
- Updates installation.rst with Ubuntu 18.04 instructions [\#657](https://github.com/kivy/buildozer/pull/657) ([AndreMiras](https://github.com/AndreMiras))
- fix prerelease version [\#653](https://github.com/kivy/buildozer/pull/653) ([marceloneil](https://github.com/marceloneil))
- allow setting launchMode for the main activity in the manifest [\#650](https://github.com/kivy/buildozer/pull/650) ([SomberNight](https://github.com/SomberNight))
- Fixes Invalid cross-device link [\#645](https://github.com/kivy/buildozer/pull/645) ([robertpro](https://github.com/robertpro))
- Quote --storage-dir value [\#630](https://github.com/kivy/buildozer/pull/630) ([ghost](https://github.com/ghost))
- Allow adding Java activities to the manifest [\#612](https://github.com/kivy/buildozer/pull/612) ([bauerj](https://github.com/bauerj))
- add comment re p4a.port in default.spec [\#600](https://github.com/kivy/buildozer/pull/600) ([replabrobin](https://github.com/replabrobin))
- Spelling [\#592](https://github.com/kivy/buildozer/pull/592) ([jsoref](https://github.com/jsoref))

## [0.34](https://github.com/kivy/buildozer/tree/0.34) (2017-12-15)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.33...0.34)

**Closed issues:**

- IOERROR invalid directory [\#599](https://github.com/kivy/buildozer/issues/599)
- Buidozer 0.33 AttributeError: 'module' object has no attribute 'directory' [\#598](https://github.com/kivy/buildozer/issues/598)
- Issu with buildozer packing [\#596](https://github.com/kivy/buildozer/issues/596)
- Gradle: path may not be null or empty string. path='null' [\#595](https://github.com/kivy/buildozer/issues/595)
- ERROR: Trying to release a package that starts with org.test; what can I do? [\#593](https://github.com/kivy/buildozer/issues/593)
- App crash with python3 [\#590](https://github.com/kivy/buildozer/issues/590)
- Problem running buildozer android debug first time [\#586](https://github.com/kivy/buildozer/issues/586)
- buildozer download some content failed [\#585](https://github.com/kivy/buildozer/issues/585)
- complie platform failed [\#580](https://github.com/kivy/buildozer/issues/580)
- Module OS - buildozer.spec [\#579](https://github.com/kivy/buildozer/issues/579)
- Buildozer doesn't compile app with cryptography requirement [\#578](https://github.com/kivy/buildozer/issues/578)
- Buildozer x psycopg2 [\#575](https://github.com/kivy/buildozer/issues/575)
- Problem with Android API 23 [\#573](https://github.com/kivy/buildozer/issues/573)
- App crashing on startup- ImportError: dlopen failed: \_imaging.so is 64-bit [\#568](https://github.com/kivy/buildozer/issues/568)
- Buildozer issue with latest Xcode/macOS [\#566](https://github.com/kivy/buildozer/issues/566)
- Requests SSL error [\#565](https://github.com/kivy/buildozer/issues/565)
- buildozer failed for `Broken toolchain` when building numpy with python.host [\#564](https://github.com/kivy/buildozer/issues/564)
- Encountered a bad program behavior [\#563](https://github.com/kivy/buildozer/issues/563)
- error at using pycypto in the requirements [\#558](https://github.com/kivy/buildozer/issues/558)
- Websocket error: SSL not available. [\#552](https://github.com/kivy/buildozer/issues/552)
- "crystax\_python does not exist" with python3crystax [\#551](https://github.com/kivy/buildozer/issues/551)
- App crashes after build [\#549](https://github.com/kivy/buildozer/issues/549)
- Installing CyLP on windows [\#548](https://github.com/kivy/buildozer/issues/548)
- Service notification launch intent causes app crash [\#547](https://github.com/kivy/buildozer/issues/547)
- Application crashes on start [\#546](https://github.com/kivy/buildozer/issues/546)
- New android target is unable to produce a python 4 android service [\#543](https://github.com/kivy/buildozer/issues/543)
- Buildozer Build Error [\#538](https://github.com/kivy/buildozer/issues/538)
- \# Aidl not found, please install it. [\#537](https://github.com/kivy/buildozer/issues/537)
- Error compiling Cython file on Ubuntu 14.0.4 with python 2.7 and 3.4/5 [\#536](https://github.com/kivy/buildozer/issues/536)
- Failed compilation on ubuntu with python 2.7 configure: error: C compiler cannot create executables [\#535](https://github.com/kivy/buildozer/issues/535)
- Remove app permissions added by default [\#534](https://github.com/kivy/buildozer/issues/534)
- Buildozer error while packaging [\#531](https://github.com/kivy/buildozer/issues/531)
- Buildozer failing to pack .apk [\#530](https://github.com/kivy/buildozer/issues/530)
- toolchain fails to recognize option --sdk [\#524](https://github.com/kivy/buildozer/issues/524)
- \# Command failed: /usr/bin/python -m pythonforandroid.toolchain create --dist\_name=myapp --bootstrap=sdl2 --requirements=kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir=/home/abhipso/thembapp/.buildozer/android/platform/build [\#521](https://github.com/kivy/buildozer/issues/521)
- apk way too large - 800mb [\#520](https://github.com/kivy/buildozer/issues/520)
- \[features\] Snapcraft implementation [\#514](https://github.com/kivy/buildozer/issues/514)
- Possibility of building in kivy virtual machine all locally [\#513](https://github.com/kivy/buildozer/issues/513)
- Python3\(crystax ndk\) builds broken [\#511](https://github.com/kivy/buildozer/issues/511)
- build fails in virtualenv [\#509](https://github.com/kivy/buildozer/issues/509)
- password for the virtual machine? [\#507](https://github.com/kivy/buildozer/issues/507)
- Failed to build APK with python 3.6 : \[sh.CommandNotFound: python3.5\] [\#504](https://github.com/kivy/buildozer/issues/504)
- Don't Unpacking opencv for armeabi-v7a [\#503](https://github.com/kivy/buildozer/issues/503)
- Fails to package app on OSX Sierra 10.12.4 \(hdiutil: attach failed - image not recognized keka\) [\#494](https://github.com/kivy/buildozer/issues/494)
- File missing building release APK [\#469](https://github.com/kivy/buildozer/issues/469)
- Building APK using Buildozer/Kivy [\#459](https://github.com/kivy/buildozer/issues/459)
- buildozer failed to build apk: subprocess.CalledProcessError: Command '\['ant', 'debug'\]' returned non-zero exit status 1 [\#373](https://github.com/kivy/buildozer/issues/373)
- AttributeError: 'Context' object has no attribute 'hostpython' in recipe [\#361](https://github.com/kivy/buildozer/issues/361)
- Cant compile apk with sqlite3 \(using python3 crystax\) [\#359](https://github.com/kivy/buildozer/issues/359)

**Merged pull requests:**

- Imported os to fix ImportError [\#594](https://github.com/kivy/buildozer/pull/594) ([inclement](https://github.com/inclement))
- add p4a.port config option; to allow specifiying webview port [\#588](https://github.com/kivy/buildozer/pull/588) ([replabrobin](https://github.com/replabrobin))
- Fix Py3 utf-8 encode error [\#582](https://github.com/kivy/buildozer/pull/582) ([Zen-CODE](https://github.com/Zen-CODE))
- Fixes `p4a.branch` comment [\#577](https://github.com/kivy/buildozer/pull/577) ([AndreMiras](https://github.com/AndreMiras))
- Fix old toolchain index error [\#576](https://github.com/kivy/buildozer/pull/576) ([Zen-CODE](https://github.com/Zen-CODE))
- Some fixes in old android target [\#572](https://github.com/kivy/buildozer/pull/572) ([rnixx](https://github.com/rnixx))
- Removed --sdk argument for p4a [\#571](https://github.com/kivy/buildozer/pull/571) ([inclement](https://github.com/inclement))
- Update specifications.rst [\#560](https://github.com/kivy/buildozer/pull/560) ([saltycraig](https://github.com/saltycraig))
- Changed p4a directory name for current toolchain [\#527](https://github.com/kivy/buildozer/pull/527) ([inclement](https://github.com/inclement))
- Update android.py, updated recreate the project.properties section [\#525](https://github.com/kivy/buildozer/pull/525) ([mokhoo](https://github.com/mokhoo))
- Fix unicode coding error in android build target [\#518](https://github.com/kivy/buildozer/pull/518) ([jamalex](https://github.com/jamalex))
- Add 404 status code handling on kivy download [\#508](https://github.com/kivy/buildozer/pull/508) ([SecretObsession](https://github.com/SecretObsession))
- Use dmg instead of 7z [\#505](https://github.com/kivy/buildozer/pull/505) ([shivan1b](https://github.com/shivan1b))

## [0.33](https://github.com/kivy/buildozer/tree/0.33) (2017-05-15)
[Full Changelog](https://github.com/kivy/buildozer/compare/v0.32...0.33)

**Fixed bugs:**

- Installation of python for android is missing dependencies [\#501](https://github.com/kivy/buildozer/issues/501)

**Closed issues:**

- Break buildozer if the user try to release a version with "org.test" as a domain [\#500](https://github.com/kivy/buildozer/issues/500)
- Migrate p4a options to its own subkey [\#499](https://github.com/kivy/buildozer/issues/499)
- Use stable branch from python-for-android [\#498](https://github.com/kivy/buildozer/issues/498)
- Migrate android to android\_new, and add android\_old [\#497](https://github.com/kivy/buildozer/issues/497)
- sh.CommandNotFound: cmake [\#496](https://github.com/kivy/buildozer/issues/496)
- Need Help Fatal signal 11 \(SIGSEGV\) at 0x00000000 \(code=1\), thread 4579 \(SDLThread\) [\#495](https://github.com/kivy/buildozer/issues/495)
- Buildozer APK Cannot LAUNCH [\#493](https://github.com/kivy/buildozer/issues/493)
- Buildozer Error [\#492](https://github.com/kivy/buildozer/issues/492)
- android\_new target hardcodes python2 support for p4a [\#491](https://github.com/kivy/buildozer/issues/491)
- android.arch ignored [\#488](https://github.com/kivy/buildozer/issues/488)
- fail to install distribute [\#486](https://github.com/kivy/buildozer/issues/486)
- sh.py raise a exception and fail to build [\#485](https://github.com/kivy/buildozer/issues/485)
- some functionality lost when debugged with android\_new command [\#481](https://github.com/kivy/buildozer/issues/481)
- Problem when deploy to android device [\#480](https://github.com/kivy/buildozer/issues/480)
- dlopen failed: python2.7/site-packages/grpc/\_cython/cygrpc.so not 32-bit: 2 [\#479](https://github.com/kivy/buildozer/issues/479)
- Cannot build APK with python3crystax and flask - conflicting dependencies [\#477](https://github.com/kivy/buildozer/issues/477)
- Buildozer can't download NDK [\#474](https://github.com/kivy/buildozer/issues/474)
- websocket-client "SSL not available." [\#473](https://github.com/kivy/buildozer/issues/473)
- Using Cython with Kivy-iOS and Buildozer [\#472](https://github.com/kivy/buildozer/issues/472)
- android.requirements does not merge with app.requirements [\#471](https://github.com/kivy/buildozer/issues/471)
- buildozer fails to find Android SDK [\#468](https://github.com/kivy/buildozer/issues/468)
- Crash of APK on start [\#467](https://github.com/kivy/buildozer/issues/467)
- App not launching [\#461](https://github.com/kivy/buildozer/issues/461)
- sqlite3 not working with android\_new [\#457](https://github.com/kivy/buildozer/issues/457)
- how to set path for p4a [\#454](https://github.com/kivy/buildozer/issues/454)
- TypeError: write\(\) argument 1 must be unicode, not str [\#452](https://github.com/kivy/buildozer/issues/452)
- New toolchain - lxml included but not able to import [\#451](https://github.com/kivy/buildozer/issues/451)
- sqlite3 with python2.7 and buildozer 0.33dev and new toolchain not working [\#450](https://github.com/kivy/buildozer/issues/450)
- Update the Virtual Machine @ https://kivy.org/\#download [\#449](https://github.com/kivy/buildozer/issues/449)
- “No module named setuptools” after installing setuptools [\#444](https://github.com/kivy/buildozer/issues/444)
- how to add --arch=armeabi-v7a to buildozer spec [\#443](https://github.com/kivy/buildozer/issues/443)
- `buildozer android debug` fails with `jinja2.exceptions.TemplateNotFound: build.xml` [\#442](https://github.com/kivy/buildozer/issues/442)
- buildozer.spec - requirements - kivy == master [\#440](https://github.com/kivy/buildozer/issues/440)
- Buildozer can't find zlib [\#437](https://github.com/kivy/buildozer/issues/437)
- Expose kivy download source? [\#435](https://github.com/kivy/buildozer/issues/435)
- compiling crash [\#431](https://github.com/kivy/buildozer/issues/431)
- Buildozer unable to make apk [\#430](https://github.com/kivy/buildozer/issues/430)
- Crash APK on start [\#429](https://github.com/kivy/buildozer/issues/429)
- More like a noob question [\#428](https://github.com/kivy/buildozer/issues/428)
- keka failed to download \(OS X El Capitan\) [\#427](https://github.com/kivy/buildozer/issues/427)
- Buildozer fails with pure python library pint [\#425](https://github.com/kivy/buildozer/issues/425)
- Invalid argument to arm-linux-androideabi-gcc [\#424](https://github.com/kivy/buildozer/issues/424)
- dlopen failed: \_clock.so is 64-bit instead of 32-bit [\#423](https://github.com/kivy/buildozer/issues/423)
- how to solve the build error for "java"? [\#421](https://github.com/kivy/buildozer/issues/421)
- Problems in patching files during building for android\_new [\#416](https://github.com/kivy/buildozer/issues/416)
- Buildozer doesn't work with multiple first-class directories [\#415](https://github.com/kivy/buildozer/issues/415)
- Buildozer suddenly not working, Linux, Python 2.7 \(build.xml: Failed to find version-tag string\) [\#414](https://github.com/kivy/buildozer/issues/414)
- Buildozer not finding aidl [\#413](https://github.com/kivy/buildozer/issues/413)
- buildozer android created apk fails if application source kept in multiple files [\#411](https://github.com/kivy/buildozer/issues/411)
- Python 3 unicode print \(\) / copy to clipboard crashes app on Android [\#404](https://github.com/kivy/buildozer/issues/404)
- checking whether the C compiler works... no [\#402](https://github.com/kivy/buildozer/issues/402)
- configure: error: C compiler cannot create executables [\#395](https://github.com/kivy/buildozer/issues/395)
- ConfigParser.NoOptionError: No option 'p4a.local\_recipes' in section: 'app' \(android\_new\) [\#394](https://github.com/kivy/buildozer/issues/394)
- Google has changed the type of archive the new NDK [\#393](https://github.com/kivy/buildozer/issues/393)
- Why does buildozer build and pull python for android from old\_toolchain branch ? [\#389](https://github.com/kivy/buildozer/issues/389)
- buildozer android\_new does not show the presplash [\#387](https://github.com/kivy/buildozer/issues/387)
- Error when using buildozer android\_new with python3crystax [\#386](https://github.com/kivy/buildozer/issues/386)
- Command failed: tar xzf android-sdk\_r20-linux.tgz [\#383](https://github.com/kivy/buildozer/issues/383)
- When will you add requests lib to recipes? [\#382](https://github.com/kivy/buildozer/issues/382)
- Presplash does not work with "android\_new" as target. [\#380](https://github.com/kivy/buildozer/issues/380)
- Build for Android is Inconsistent with the Linux Version [\#378](https://github.com/kivy/buildozer/issues/378)
- \[question\] What are the supported OS ? [\#369](https://github.com/kivy/buildozer/issues/369)
- AttributeError: 'AnsiCodes' object has no attribute 'LIGHTBLUE\_EX' [\#366](https://github.com/kivy/buildozer/issues/366)
- splash image not hide after kivy loaded [\#364](https://github.com/kivy/buildozer/issues/364)
- app always crash in android [\#360](https://github.com/kivy/buildozer/issues/360)
- Plyer not available in buildozer android\_new [\#358](https://github.com/kivy/buildozer/issues/358)
- Runs empty directory instead of binary \(android\_new\) [\#357](https://github.com/kivy/buildozer/issues/357)
- App built with buildozer does not open on android [\#356](https://github.com/kivy/buildozer/issues/356)
- Error when running buildozer android\_new debug [\#354](https://github.com/kivy/buildozer/issues/354)
- ios list\_identities returns no identities [\#353](https://github.com/kivy/buildozer/issues/353)
- buildozer not working [\#350](https://github.com/kivy/buildozer/issues/350)
- error: Cython does not appear to be installed [\#349](https://github.com/kivy/buildozer/issues/349)
- AttributeError: 'Context' object has no attribute 'hostpython' [\#347](https://github.com/kivy/buildozer/issues/347)
- osx packaging results in venv error [\#345](https://github.com/kivy/buildozer/issues/345)
- Requirement example requirements = kivy,requests fails [\#344](https://github.com/kivy/buildozer/issues/344)
- Unavailability of important packages [\#343](https://github.com/kivy/buildozer/issues/343)
- no way to change bootstrap [\#341](https://github.com/kivy/buildozer/issues/341)
- Apk built with buildozer and multiple python file crashes [\#331](https://github.com/kivy/buildozer/issues/331)
- Please upgrade the documentation [\#255](https://github.com/kivy/buildozer/issues/255)
- Buildozer doesn't recognize "profile" option anymore [\#254](https://github.com/kivy/buildozer/issues/254)
- Try to build with caldav requirement fails [\#248](https://github.com/kivy/buildozer/issues/248)
- Trouble building for older android versions [\#240](https://github.com/kivy/buildozer/issues/240)
- removing old apk file seems to fail before installing the new one [\#238](https://github.com/kivy/buildozer/issues/238)
- Build fails due to python-distribute.org being down [\#200](https://github.com/kivy/buildozer/issues/200)
- I am struggling with building an apk [\#153](https://github.com/kivy/buildozer/issues/153)
- fresh android sdk install requires sdk update [\#151](https://github.com/kivy/buildozer/issues/151)
- FYI - Ubuntu 14.04 Necessary Java Path Adjustment [\#141](https://github.com/kivy/buildozer/issues/141)
- Cannot compile `iri2uri.py` in `httplib2` [\#135](https://github.com/kivy/buildozer/issues/135)
- can't add django to requirement [\#130](https://github.com/kivy/buildozer/issues/130)
- add an ssh target [\#1](https://github.com/kivy/buildozer/issues/1)

**Merged pull requests:**

- close \#452 as suggested by SpotlightKid [\#489](https://github.com/kivy/buildozer/pull/489) ([pat1](https://github.com/pat1))
- Update README.rst [\#487](https://github.com/kivy/buildozer/pull/487) ([matletix](https://github.com/matletix))
- Made buildozer run p4a using the current sys.executable [\#484](https://github.com/kivy/buildozer/pull/484) ([inclement](https://github.com/inclement))
- ios: refactor deprecated PackageApplication command [\#483](https://github.com/kivy/buildozer/pull/483) ([kived](https://github.com/kived))
- android\_new: change skip\_update to skip all updates [\#465](https://github.com/kivy/buildozer/pull/465) ([ZingBallyhoo](https://github.com/ZingBallyhoo))
- android\_new: add "android.arch" config option [\#458](https://github.com/kivy/buildozer/pull/458) ([ZingBallyhoo](https://github.com/ZingBallyhoo))
- Fix Py3 Incompatable str + bytes issue. [\#456](https://github.com/kivy/buildozer/pull/456) ([FeralBytes](https://github.com/FeralBytes))
- spec file: dont use fullscreen by default [\#447](https://github.com/kivy/buildozer/pull/447) ([rafalo1333](https://github.com/rafalo1333))
- spec file: use portrait orientation by default [\#446](https://github.com/kivy/buildozer/pull/446) ([rafalo1333](https://github.com/rafalo1333))
- Add presplash background color support for android\_new toolchain [\#436](https://github.com/kivy/buildozer/pull/436) ([rnixx](https://github.com/rnixx))
- Fix file\_matches to never return None [\#432](https://github.com/kivy/buildozer/pull/432) ([inclement](https://github.com/inclement))
- Fixed 64 bit detection \(it failed under python3\) [\#409](https://github.com/kivy/buildozer/pull/409) ([inclement](https://github.com/inclement))
- Added p4a.local\_recipes to default.spec and handled its absence [\#405](https://github.com/kivy/buildozer/pull/405) ([inclement](https://github.com/inclement))
- Adding README.rst entries for how to use buildozer with python3 [\#403](https://github.com/kivy/buildozer/pull/403) ([andyDoucette](https://github.com/andyDoucette))
- Update installation.rst \(Ubuntu16.04\) [\#399](https://github.com/kivy/buildozer/pull/399) ([FermiParadox](https://github.com/FermiParadox))
- Update quickstart.rst [\#398](https://github.com/kivy/buildozer/pull/398) ([FermiParadox](https://github.com/FermiParadox))
- Add p4a.local\_recipes to buildozer.spec to specify a local recipe dir… [\#385](https://github.com/kivy/buildozer/pull/385) ([cidermole](https://github.com/cidermole))
- Always pass required args to p4a in android\_new [\#375](https://github.com/kivy/buildozer/pull/375) ([inclement](https://github.com/inclement))
- Changed p4a command order to work with argparse [\#374](https://github.com/kivy/buildozer/pull/374) ([inclement](https://github.com/inclement))
- buildozer has no attribute builddir [\#351](https://github.com/kivy/buildozer/pull/351) ([nilutz](https://github.com/nilutz))
- throw error early if running in venv [\#346](https://github.com/kivy/buildozer/pull/346) ([kived](https://github.com/kived))
- allow selection of bootstrap for android\_new [\#342](https://github.com/kivy/buildozer/pull/342) ([kived](https://github.com/kived))
- bump version to 0.33dev [\#340](https://github.com/kivy/buildozer/pull/340) ([kived](https://github.com/kived))
- trying to fix Kivy install for OS X builds [\#316](https://github.com/kivy/buildozer/pull/316) ([derPinguin](https://github.com/derPinguin))
- update installation info [\#256](https://github.com/kivy/buildozer/pull/256) ([kiok46](https://github.com/kiok46))

## [v0.32](https://github.com/kivy/buildozer/tree/v0.32) (2016-05-09)
[Full Changelog](https://github.com/kivy/buildozer/compare/v0.31...v0.32)

**Closed issues:**

- When is the support coming to build windows .exe using buildozer? [\#333](https://github.com/kivy/buildozer/issues/333)
- outdated openssl [\#332](https://github.com/kivy/buildozer/issues/332)
- ios deployment fails \(buildozer --verbose ios debug deploy\) [\#330](https://github.com/kivy/buildozer/issues/330)
- Can't add uuid pytz datetime time dbf to requirements [\#329](https://github.com/kivy/buildozer/issues/329)
- AttributeError: 'NoneType' object has no attribute 'startswith' [\#326](https://github.com/kivy/buildozer/issues/326)
- android.p4a\_dir use old toolchain? [\#325](https://github.com/kivy/buildozer/issues/325)
- Switch from pygame to sdl2 easily [\#313](https://github.com/kivy/buildozer/issues/313)
- IOError: \[Errno 2\] No such file or directory: "/home/andrew/CODE/Python/kivy-test-android/.buildozer/android/platform/python-for-android/dist/helloworld/bin/HelloWorld-'1.0'-debug.apk" [\#312](https://github.com/kivy/buildozer/issues/312)
- Marshmallow sdk not found [\#310](https://github.com/kivy/buildozer/issues/310)
- Install Buildozer: Finished processing dependencies for buildozer==0.32dev [\#304](https://github.com/kivy/buildozer/issues/304)
- Bump default min SDK to 13: Fix crash on orientation change bug [\#302](https://github.com/kivy/buildozer/issues/302)
- Disable "Open with file manager" when USB cable is connected in virtual machine [\#299](https://github.com/kivy/buildozer/issues/299)
- Check presence of main.py during build time [\#298](https://github.com/kivy/buildozer/issues/298)
- Py3: 'Buildozer' object has no attribute 'critical' [\#297](https://github.com/kivy/buildozer/issues/297)
- The splash screen isn't automatically resized [\#292](https://github.com/kivy/buildozer/issues/292)
- buildozer don't work if whitespace in path [\#287](https://github.com/kivy/buildozer/issues/287)
- buildozer help fail [\#285](https://github.com/kivy/buildozer/issues/285)
- Buildozer.spec 's title of your application can not be a Chinese character [\#284](https://github.com/kivy/buildozer/issues/284)
- How to build apk with a cython file [\#283](https://github.com/kivy/buildozer/issues/283)
- pip no longer has a --download-cache option, so downloading requirements has stopped working [\#279](https://github.com/kivy/buildozer/issues/279)
- Cython2 not recognized in Fedora23 ? [\#278](https://github.com/kivy/buildozer/issues/278)
- Buildozer VIrtual Machine Error: /jni/application/src/': Not a directory [\#277](https://github.com/kivy/buildozer/issues/277)
- buildozer android debug deploy run hangs [\#275](https://github.com/kivy/buildozer/issues/275)
- Is it possible to move the .buildozer folder somewhere else? [\#273](https://github.com/kivy/buildozer/issues/273)
- configure: error: C compiler cannot create executables [\#272](https://github.com/kivy/buildozer/issues/272)
- buildozer deploy error [\#271](https://github.com/kivy/buildozer/issues/271)
- Cannot set Android API version [\#268](https://github.com/kivy/buildozer/issues/268)
- Support python3 [\#265](https://github.com/kivy/buildozer/issues/265)
- App crash when changing orientation [\#264](https://github.com/kivy/buildozer/issues/264)
- Broken update command [\#261](https://github.com/kivy/buildozer/issues/261)
- error while deploying android [\#257](https://github.com/kivy/buildozer/issues/257)
- jnius/jnius.c: No such file or directory [\#251](https://github.com/kivy/buildozer/issues/251)
- Implement source.include\_patterns [\#245](https://github.com/kivy/buildozer/issues/245)
- Buildozer Python 3 Compatability Issues [\#175](https://github.com/kivy/buildozer/issues/175)

**Merged pull requests:**

- prepare for release 0.32 [\#339](https://github.com/kivy/buildozer/pull/339) ([kived](https://github.com/kived))
- use p4a --color argument [\#338](https://github.com/kivy/buildozer/pull/338) ([kived](https://github.com/kived))
- fix changing android branch [\#337](https://github.com/kivy/buildozer/pull/337) ([kived](https://github.com/kived))
- use cp -a not cp -r [\#336](https://github.com/kivy/buildozer/pull/336) ([akshayaurora](https://github.com/akshayaurora))
- improve build directory handling, add values to default.spec [\#335](https://github.com/kivy/buildozer/pull/335) ([kived](https://github.com/kived))
- fix incorrect api/minapi values [\#334](https://github.com/kivy/buildozer/pull/334) ([kived](https://github.com/kived))
- fix bad placement of expanduser\(\) [\#328](https://github.com/kivy/buildozer/pull/328) ([kived](https://github.com/kived))
- use custom source dirs for android\_new [\#324](https://github.com/kivy/buildozer/pull/324) ([kived](https://github.com/kived))
- use p4a revamp --storage-dir option [\#323](https://github.com/kivy/buildozer/pull/323) ([kived](https://github.com/kived))
- add adb and p4a commands to android/android\_new [\#322](https://github.com/kivy/buildozer/pull/322) ([kived](https://github.com/kived))
- fix py3 str has no decode issue [\#321](https://github.com/kivy/buildozer/pull/321) ([kived](https://github.com/kived))
- let p4a revamp handle pure python requirements [\#320](https://github.com/kivy/buildozer/pull/320) ([kived](https://github.com/kived))
- fix icons for ios target [\#319](https://github.com/kivy/buildozer/pull/319) ([kived](https://github.com/kived))
- support using custom kivy-ios source dir [\#318](https://github.com/kivy/buildozer/pull/318) ([kived](https://github.com/kived))
- disable bitcode for ios target [\#317](https://github.com/kivy/buildozer/pull/317) ([kived](https://github.com/kived))
- Add window option for target android\_new [\#315](https://github.com/kivy/buildozer/pull/315) ([pythonic64](https://github.com/pythonic64))
- fix usage exception [\#311](https://github.com/kivy/buildozer/pull/311) ([kived](https://github.com/kived))
- add python3 compatibility to verbose output for android build \(\#221\) [\#303](https://github.com/kivy/buildozer/pull/303) ([pohmelie](https://github.com/pohmelie))
- Allow app title to contain Unicode characters [\#293](https://github.com/kivy/buildozer/pull/293) ([udiboy1209](https://github.com/udiboy1209))
- use ios-deploy version 1.7.0 [\#291](https://github.com/kivy/buildozer/pull/291) ([cbenhagen](https://github.com/cbenhagen))
- Add spec option to skip automated update of installed android package [\#290](https://github.com/kivy/buildozer/pull/290) ([pastcompute](https://github.com/pastcompute))
- Fix issues with android.p4a\_dir spec file property [\#288](https://github.com/kivy/buildozer/pull/288) ([pastcompute](https://github.com/pastcompute))
- Remove pip --download-cache flag \(fixes \#279\) [\#282](https://github.com/kivy/buildozer/pull/282) ([cbenhagen](https://github.com/cbenhagen))
- put bin/ in builddir if specified in buildozer.spec [\#274](https://github.com/kivy/buildozer/pull/274) ([jabbalaci](https://github.com/jabbalaci))
- Implement source.include\_patterns [\#269](https://github.com/kivy/buildozer/pull/269) ([udiboy1209](https://github.com/udiboy1209))
- Updated Licence Year [\#266](https://github.com/kivy/buildozer/pull/266) ([CodeMaxx](https://github.com/CodeMaxx))
- fix android.branch option [\#250](https://github.com/kivy/buildozer/pull/250) ([tshirtman](https://github.com/tshirtman))

## [v0.31](https://github.com/kivy/buildozer/tree/v0.31) (2016-01-07)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.30...v0.31)

**Closed issues:**

- Logo aspect ratio problem [\#263](https://github.com/kivy/buildozer/issues/263)
- Is there a way to seperate building environment and building apk? [\#259](https://github.com/kivy/buildozer/issues/259)
- buildozer must be ran with sudo [\#258](https://github.com/kivy/buildozer/issues/258)
- Invalid NDK platform [\#253](https://github.com/kivy/buildozer/issues/253)
- Q:compile error [\#252](https://github.com/kivy/buildozer/issues/252)
- Please update SDK url [\#249](https://github.com/kivy/buildozer/issues/249)
- java.lang.NoSuchMethodException: isSupportChangeBadgeByCallMethod \[\] [\#243](https://github.com/kivy/buildozer/issues/243)
- AttributeError: 'NoneType' object has no attribute 'group' [\#242](https://github.com/kivy/buildozer/issues/242)
- Error: Flag '-a' is not valid for 'list sdk'. [\#241](https://github.com/kivy/buildozer/issues/241)
- Provide custom path for android SDK to buildozer [\#237](https://github.com/kivy/buildozer/issues/237)
- kivy examples seem to need \_\_version\_\_ [\#236](https://github.com/kivy/buildozer/issues/236)
- pyliblo [\#235](https://github.com/kivy/buildozer/issues/235)

**Merged pull requests:**

- OS X Target for Bulldozer [\#262](https://github.com/kivy/buildozer/pull/262) ([akshayaurora](https://github.com/akshayaurora))
- kill easy\_install [\#244](https://github.com/kivy/buildozer/pull/244) ([techtonik](https://github.com/techtonik))
- install requires virtualenv [\#239](https://github.com/kivy/buildozer/pull/239) ([cbenhagen](https://github.com/cbenhagen))
- Fixed Space in app path issue. Fixes \#13 [\#231](https://github.com/kivy/buildozer/pull/231) ([dvenkatsagar](https://github.com/dvenkatsagar))

## [0.30](https://github.com/kivy/buildozer/tree/0.30) (2015-10-04)
[Full Changelog](https://github.com/kivy/buildozer/compare/v0.29...0.30)

**Closed issues:**

- subprocess.CalledProcessError: Command '\['ant', 'debug'\]' returned non-zero exit status 1 [\#234](https://github.com/kivy/buildozer/issues/234)
- Cannot use numpy with buildozer [\#232](https://github.com/kivy/buildozer/issues/232)
- Problem downloading ndk version \> r9d [\#229](https://github.com/kivy/buildozer/issues/229)
- Error likely to missing 32 bit packages [\#228](https://github.com/kivy/buildozer/issues/228)
- Bulldozer can't download new ndks 10x... [\#227](https://github.com/kivy/buildozer/issues/227)
- Error while trying to install Buildozer in Windows 10 [\#225](https://github.com/kivy/buildozer/issues/225)
- Making reverse engineering .apk harder [\#224](https://github.com/kivy/buildozer/issues/224)
- Buildozer wont compile libraries with cython 0.23 or 0.22 [\#223](https://github.com/kivy/buildozer/issues/223)
- These are the errors I get when I try to package the file... [\#222](https://github.com/kivy/buildozer/issues/222)
- Buildozer installs platform despite setting ndk & sdk paths [\#220](https://github.com/kivy/buildozer/issues/220)
- Can't find config.ini buildozer solution [\#219](https://github.com/kivy/buildozer/issues/219)
- Ant error: SDK does not have any Build Tools installed [\#218](https://github.com/kivy/buildozer/issues/218)
- Buildozer fails because of build-tools package name [\#217](https://github.com/kivy/buildozer/issues/217)
- ImportError: No module named pygments [\#216](https://github.com/kivy/buildozer/issues/216)
- buildozer android camera [\#215](https://github.com/kivy/buildozer/issues/215)
- Error when first time Building apk [\#212](https://github.com/kivy/buildozer/issues/212)
- cannot import name spawnu [\#211](https://github.com/kivy/buildozer/issues/211)
- Buildozer recompiles p4a when a custom for of plyer is used. [\#210](https://github.com/kivy/buildozer/issues/210)
- Add android.ant\_path to default.spec [\#209](https://github.com/kivy/buildozer/issues/209)
- Problems with adding wav, ogg and ttf files [\#208](https://github.com/kivy/buildozer/issues/208)
- cython issue with kivy and buildozer development versions [\#207](https://github.com/kivy/buildozer/issues/207)
- subprocess.CalledProcessError: Command '\['ant', 'debug'\]' returned non-zero exit status 1 [\#205](https://github.com/kivy/buildozer/issues/205)
- Buildozer isn't building if I try to include some requirements [\#195](https://github.com/kivy/buildozer/issues/195)
- Cant build APK for android.api = 10 [\#193](https://github.com/kivy/buildozer/issues/193)
- Doc error: "buildozer clean" does not exist [\#189](https://github.com/kivy/buildozer/issues/189)
- Can't install pillow requirement [\#188](https://github.com/kivy/buildozer/issues/188)
- \#error from Cython compilation [\#150](https://github.com/kivy/buildozer/issues/150)
- Space in app path path name causes ./distribute -m kivy to fail [\#13](https://github.com/kivy/buildozer/issues/13)

**Merged pull requests:**

- Changed p4a download to pull old\_toolchain branch [\#233](https://github.com/kivy/buildozer/pull/233) ([inclement](https://github.com/inclement))
- Added support for downloading and handling android ndk r10 versions. Fixes \#229 and \#227 [\#230](https://github.com/kivy/buildozer/pull/230) ([dvenkatsagar](https://github.com/dvenkatsagar))
- make \_read\_version\_subdir return parse\('0'\) instead of \[0\], otherwise… [\#206](https://github.com/kivy/buildozer/pull/206) ([denys-duchier](https://github.com/denys-duchier))

## [v0.29](https://github.com/kivy/buildozer/tree/v0.29) (2015-06-01)
[Full Changelog](https://github.com/kivy/buildozer/compare/v0.27...v0.29)

**Fixed bugs:**

- version problem with split [\#201](https://github.com/kivy/buildozer/issues/201)

**Closed issues:**

- buildozer android release hangs at "compile platform" [\#199](https://github.com/kivy/buildozer/issues/199)
- Hang up at Fetching https://dl-ssl.google.com/android/repository/addons\_list-2.xml [\#198](https://github.com/kivy/buildozer/issues/198)
- Python 3 Import error on urllib.request. [\#187](https://github.com/kivy/buildozer/issues/187)

**Merged pull requests:**

- needs testing, should fix \#201 using pypa implementation of PEP440 [\#202](https://github.com/kivy/buildozer/pull/202) ([tshirtman](https://github.com/tshirtman))
- check for complete dist instead of dist dir [\#197](https://github.com/kivy/buildozer/pull/197) ([kived](https://github.com/kived))
- fix ios targets xcode command [\#194](https://github.com/kivy/buildozer/pull/194) ([cbenhagen](https://github.com/cbenhagen))
- Windows fix [\#192](https://github.com/kivy/buildozer/pull/192) ([jaynakus](https://github.com/jaynakus))
- some python 3 compatibility [\#191](https://github.com/kivy/buildozer/pull/191) ([pohmelie](https://github.com/pohmelie))
- allow custom source folders in buildozer.spec [\#185](https://github.com/kivy/buildozer/pull/185) ([kived](https://github.com/kived))
- use upstream pexpect instead of shipping it [\#176](https://github.com/kivy/buildozer/pull/176) ([tshirtman](https://github.com/tshirtman))

## [v0.27](https://github.com/kivy/buildozer/tree/v0.27) (2015-03-08)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.26...v0.27)

**Closed issues:**

- subprocess.CalledProcessError: Command '\['ant', 'debug'\]' returned non-zero exit status 1 [\#183](https://github.com/kivy/buildozer/issues/183)
- Buildozer get error during packaging for android [\#182](https://github.com/kivy/buildozer/issues/182)
- Bug with android.p4a\_whitelist in buildozer.spec file. [\#180](https://github.com/kivy/buildozer/issues/180)
- You need an option for git https [\#178](https://github.com/kivy/buildozer/issues/178)
- Buildozer .apk file creation issue [\#177](https://github.com/kivy/buildozer/issues/177)
- sudo buildozer Fails [\#174](https://github.com/kivy/buildozer/issues/174)
- Buildozer iOS Apps Won't Open [\#171](https://github.com/kivy/buildozer/issues/171)
- always show python-for-android output on failure [\#170](https://github.com/kivy/buildozer/issues/170)
- Buildozer tries to install android sdk every time you try to compile an android application. [\#169](https://github.com/kivy/buildozer/issues/169)
- automatic installation of android sdk fails due to unicode parsing error [\#166](https://github.com/kivy/buildozer/issues/166)
- Move from fruitstrap to ios-deploy [\#107](https://github.com/kivy/buildozer/issues/107)
- buildozer ios debug build fails on MacOS Mavericks [\#83](https://github.com/kivy/buildozer/issues/83)
- gdb doesn't work anymore with Xcode 5 [\#54](https://github.com/kivy/buildozer/issues/54)
- buildozer ios debug deploy fails on running fruitstrap at 70% with error AMDeviceInstallApplication failed [\#9](https://github.com/kivy/buildozer/issues/9)

**Merged pull requests:**

- fix black text in log [\#184](https://github.com/kivy/buildozer/pull/184) ([kived](https://github.com/kived))

## [0.26](https://github.com/kivy/buildozer/tree/0.26) (2015-01-28)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.25...0.26)

**Merged pull requests:**

- ensure whitelist always has a list [\#172](https://github.com/kivy/buildozer/pull/172) ([kived](https://github.com/kived))

## [0.25](https://github.com/kivy/buildozer/tree/0.25) (2015-01-27)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.24...0.25)

## [0.24](https://github.com/kivy/buildozer/tree/0.24) (2015-01-27)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.23...0.24)

## [0.23](https://github.com/kivy/buildozer/tree/0.23) (2015-01-27)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.22...0.23)

## [0.22](https://github.com/kivy/buildozer/tree/0.22) (2015-01-27)
[Full Changelog](https://github.com/kivy/buildozer/compare/v0.21...0.22)

## [v0.21](https://github.com/kivy/buildozer/tree/v0.21) (2015-01-14)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.19...v0.21)

**Merged pull requests:**

- removed some indentation in example info, added to actual comments inste... [\#168](https://github.com/kivy/buildozer/pull/168) ([chozabu](https://github.com/chozabu))

## [0.19](https://github.com/kivy/buildozer/tree/0.19) (2014-12-17)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.18...0.19)

## [0.18](https://github.com/kivy/buildozer/tree/0.18) (2014-12-17)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.17...0.18)

**Closed issues:**

- buildozer can't download python libs due to ssl certificate check fail [\#164](https://github.com/kivy/buildozer/issues/164)
- Buildozer feature redirect .buildozer folder outside your project [\#162](https://github.com/kivy/buildozer/issues/162)
- Buildozer fails on clean build [\#161](https://github.com/kivy/buildozer/issues/161)
- pjnius build fails on Arch Linux when requiring netifaces [\#159](https://github.com/kivy/buildozer/issues/159)
- error compiling with buildozer [\#158](https://github.com/kivy/buildozer/issues/158)
- C compiler cannot create executables [\#152](https://github.com/kivy/buildozer/issues/152)
- Requirements needing commas instead of spaces \(like p4a\) is non-obvious [\#147](https://github.com/kivy/buildozer/issues/147)

**Merged pull requests:**

- fix build error and allow redirecting build folder [\#163](https://github.com/kivy/buildozer/pull/163) ([olymk2](https://github.com/olymk2))
- Remove duplicated checkbin\(\). [\#160](https://github.com/kivy/buildozer/pull/160) ([attakei](https://github.com/attakei))
- added note about buildozer not having anything to do with buildozer.io [\#157](https://github.com/kivy/buildozer/pull/157) ([nickyspag](https://github.com/nickyspag))
- Fixed logic to compare with “non installed” with “minor version upped" [\#156](https://github.com/kivy/buildozer/pull/156) ([attakei](https://github.com/attakei))
- Set "UTF-8" to java file.encoding for android update command explicitly [\#155](https://github.com/kivy/buildozer/pull/155) ([attakei](https://github.com/attakei))
- added example to default.spec requirements showing comma seperation [\#148](https://github.com/kivy/buildozer/pull/148) ([chozabu](https://github.com/chozabu))

## [0.17](https://github.com/kivy/buildozer/tree/0.17) (2014-09-22)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.16...0.17)

## [0.16](https://github.com/kivy/buildozer/tree/0.16) (2014-09-22)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.15...0.16)

**Closed issues:**

- `install\_android\_packages` is too slow to run in china. [\#143](https://github.com/kivy/buildozer/issues/143)
- Buildozer setup.py fails with Module ImportError [\#140](https://github.com/kivy/buildozer/issues/140)
- buildozer downloads Android SDK 20 during every call to deploy app [\#137](https://github.com/kivy/buildozer/issues/137)
- Buildozerv0.15: lib/pexpect.py is not Python 3 compatable [\#131](https://github.com/kivy/buildozer/issues/131)
- Keep on gettting version error [\#129](https://github.com/kivy/buildozer/issues/129)
- arm-linux-androideabi-gcc: fatal error: no input files [\#127](https://github.com/kivy/buildozer/issues/127)
- I am new to python and buildozer, using buildozer to compile my first android app [\#125](https://github.com/kivy/buildozer/issues/125)
- I am new to python and buildozer, using buildozer to compile my first android app, [\#124](https://github.com/kivy/buildozer/issues/124)
- Command Failed [\#122](https://github.com/kivy/buildozer/issues/122)
- Exception: Cython cythonnot found [\#120](https://github.com/kivy/buildozer/issues/120)
- Enable use for packaging OSX apps [\#114](https://github.com/kivy/buildozer/issues/114)
- Errors on 'buildozer android debug deploy run' [\#113](https://github.com/kivy/buildozer/issues/113)
- Fail to download Android SDK in Linux and Python 3.3 [\#110](https://github.com/kivy/buildozer/issues/110)
- Unable to add "requirements" buildozer.spec [\#109](https://github.com/kivy/buildozer/issues/109)
- TypeError: 'encoding' is an invalid keyword argument for this function [\#106](https://github.com/kivy/buildozer/issues/106)
- Custom activity [\#33](https://github.com/kivy/buildozer/issues/33)
- Buildozer fails to install on Windows [\#27](https://github.com/kivy/buildozer/issues/27)
- support blacklist changes in python-for-android [\#17](https://github.com/kivy/buildozer/issues/17)

**Merged pull requests:**

- Test in file\_rename if target directory exists. [\#144](https://github.com/kivy/buildozer/pull/144) ([droundy](https://github.com/droundy))
- Fix for android.library\_references path issue [\#139](https://github.com/kivy/buildozer/pull/139) ([excessivedemon](https://github.com/excessivedemon))
- Specs doc revision [\#134](https://github.com/kivy/buildozer/pull/134) ([dessant](https://github.com/dessant))
- Make pexpect.py Python 3 Compatable [\#133](https://github.com/kivy/buildozer/pull/133) ([FeralBytes](https://github.com/FeralBytes))
- Added check for buildozer running as root [\#128](https://github.com/kivy/buildozer/pull/128) ([inclement](https://github.com/inclement))
- Add link to the right android python project [\#119](https://github.com/kivy/buildozer/pull/119) ([techtonik](https://github.com/techtonik))
- Execute buildozer as "python -m buildozer" [\#118](https://github.com/kivy/buildozer/pull/118) ([techtonik](https://github.com/techtonik))
- Fix \#115 [\#116](https://github.com/kivy/buildozer/pull/116) ([manuelbua](https://github.com/manuelbua))

## [0.15](https://github.com/kivy/buildozer/tree/0.15) (2014-06-02)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.14...0.15)

**Closed issues:**

- Do not set permissions \(ug+x\) if already set [\#115](https://github.com/kivy/buildozer/issues/115)
- UTF-8 Encoding Error, \_\_init.py\_\_ 0.15-dev [\#108](https://github.com/kivy/buildozer/issues/108)
- incorrect minapi android manifest value [\#93](https://github.com/kivy/buildozer/issues/93)
- libpython wait4 linker error [\#92](https://github.com/kivy/buildozer/issues/92)
- fcntl import error [\#88](https://github.com/kivy/buildozer/issues/88)
- No Python 3 Support [\#84](https://github.com/kivy/buildozer/issues/84)
- Uncaught exception on missing cython [\#80](https://github.com/kivy/buildozer/issues/80)
- Where are custom python-for-android recipes meant to go? [\#76](https://github.com/kivy/buildozer/issues/76)
- Error compiling Cython file: [\#73](https://github.com/kivy/buildozer/issues/73)
- Zlib still giving issues on Ubuntu 13.04 [\#72](https://github.com/kivy/buildozer/issues/72)
- DBAccessError permission denied in app [\#71](https://github.com/kivy/buildozer/issues/71)
- Selective update of depencencies [\#70](https://github.com/kivy/buildozer/issues/70)
- 32-bit SDK installed on 64-bit system [\#69](https://github.com/kivy/buildozer/issues/69)
- wrong version regex [\#67](https://github.com/kivy/buildozer/issues/67)
- sdk update fails on license question [\#66](https://github.com/kivy/buildozer/issues/66)
- x86 and armeabi-v7 libs [\#63](https://github.com/kivy/buildozer/issues/63)
- Missing dependenced during compilation [\#59](https://github.com/kivy/buildozer/issues/59)
- Bad magic number when reading generated state.db file in VMware Ubuntu guest [\#42](https://github.com/kivy/buildozer/issues/42)
- x86 apk support on buildozer [\#11](https://github.com/kivy/buildozer/issues/11)

**Merged pull requests:**

- Ignore UTF-8 decoding errors. Closes \#108 [\#112](https://github.com/kivy/buildozer/pull/112) ([cbenhagen](https://github.com/cbenhagen))
- chmod ug+x android\_cmd [\#111](https://github.com/kivy/buildozer/pull/111) ([cbenhagen](https://github.com/cbenhagen))
- p4a whitelist [\#98](https://github.com/kivy/buildozer/pull/98) ([b3ni](https://github.com/b3ni))

## [0.14](https://github.com/kivy/buildozer/tree/0.14) (2014-04-20)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.13...0.14)

## [0.13](https://github.com/kivy/buildozer/tree/0.13) (2014-04-20)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.12...0.13)

## [0.12](https://github.com/kivy/buildozer/tree/0.12) (2014-04-20)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.11...0.12)

## [0.11](https://github.com/kivy/buildozer/tree/0.11) (2014-04-20)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.10...0.11)

**Closed issues:**

- Text provider [\#105](https://github.com/kivy/buildozer/issues/105)
- No installation instructions [\#104](https://github.com/kivy/buildozer/issues/104)

## [0.10](https://github.com/kivy/buildozer/tree/0.10) (2014-04-09)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.9...0.10)

**Closed issues:**

- Android SDK installation not working anymore [\#101](https://github.com/kivy/buildozer/issues/101)
- Buildozer almost completes and then errors saying file exists [\#99](https://github.com/kivy/buildozer/issues/99)
- Java compilernot found [\#95](https://github.com/kivy/buildozer/issues/95)
- Absolute path problem [\#91](https://github.com/kivy/buildozer/issues/91)
- Error when running: buildozer --verbose android debug deploy run [\#89](https://github.com/kivy/buildozer/issues/89)
- buildozer.spec passing requirements [\#87](https://github.com/kivy/buildozer/issues/87)
- debugging "Command failed" is tedious [\#86](https://github.com/kivy/buildozer/issues/86)
- No module named sqlite3 [\#56](https://github.com/kivy/buildozer/issues/56)
- Garden packages are unsupported [\#39](https://github.com/kivy/buildozer/issues/39)
- python-for-android repo is hard-coded in buildozer [\#37](https://github.com/kivy/buildozer/issues/37)
- virtualenv-2.7 hardcoded [\#22](https://github.com/kivy/buildozer/issues/22)
- Buildozer error no build.py [\#21](https://github.com/kivy/buildozer/issues/21)

**Merged pull requests:**

- Fixed garden install for newer virtualenvs [\#100](https://github.com/kivy/buildozer/pull/100) ([brousch](https://github.com/brousch))
- fix ln if soft link existed [\#96](https://github.com/kivy/buildozer/pull/96) ([pengjia](https://github.com/pengjia))
- Added realpath modifier to p4a\_dir token [\#94](https://github.com/kivy/buildozer/pull/94) ([inclement](https://github.com/inclement))
- Documented env var checking and fixed a bug in the p4a\_dir check [\#85](https://github.com/kivy/buildozer/pull/85) ([inclement](https://github.com/inclement))
- Delete dist dir if running distribute.sh [\#81](https://github.com/kivy/buildozer/pull/81) ([inclement](https://github.com/inclement))
- implement the `clean` command. [\#79](https://github.com/kivy/buildozer/pull/79) ([akshayaurora](https://github.com/akshayaurora))
- Garden requirements [\#41](https://github.com/kivy/buildozer/pull/41) ([Ian-Foote](https://github.com/Ian-Foote))

## [0.9](https://github.com/kivy/buildozer/tree/0.9) (2014-02-13)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.8...0.9)

**Closed issues:**

- Command failed: ./distribute.sh -m "kivy" error message [\#77](https://github.com/kivy/buildozer/issues/77)
- Error importing \_scproxy [\#68](https://github.com/kivy/buildozer/issues/68)
- Package names beginning with a number cause an obscure crash with an unclear error message [\#64](https://github.com/kivy/buildozer/issues/64)
- failing to compile sample android app with buildozer [\#61](https://github.com/kivy/buildozer/issues/61)
- Default android.sdk setting causes sensor rotate on Android to fail [\#32](https://github.com/kivy/buildozer/issues/32)
- Add wakelock to options [\#31](https://github.com/kivy/buildozer/issues/31)

**Merged pull requests:**

- Updated Android NDK default version to 9c [\#82](https://github.com/kivy/buildozer/pull/82) ([brousch](https://github.com/brousch))
- Add 'bin' to suggested default directory excludes [\#78](https://github.com/kivy/buildozer/pull/78) ([joseph-jnl](https://github.com/joseph-jnl))
- Clarified wording in README [\#75](https://github.com/kivy/buildozer/pull/75) ([inclement](https://github.com/inclement))
- Check for package name starting with number [\#65](https://github.com/kivy/buildozer/pull/65) ([inclement](https://github.com/inclement))
- \[FIX\] Detect 32/64 bit on Windows, to download Android NDK [\#62](https://github.com/kivy/buildozer/pull/62) ([alanjds](https://github.com/alanjds))
- Add ability to choose python-for-android directory [\#60](https://github.com/kivy/buildozer/pull/60) ([inclement](https://github.com/inclement))
- Added --private and --dir Android storage option [\#58](https://github.com/kivy/buildozer/pull/58) ([brousch](https://github.com/brousch))
- Added a 'serve' command to serve bin/ over SimpleHTTPServer [\#49](https://github.com/kivy/buildozer/pull/49) ([brousch](https://github.com/brousch))

## [0.8](https://github.com/kivy/buildozer/tree/0.8) (2013-10-29)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.7...0.8)

**Fixed bugs:**

- \_patch\_application\_sources breaks from \_\_future\_\_ imports [\#35](https://github.com/kivy/buildozer/issues/35)

**Closed issues:**

- unresolved domain: pygame.org [\#34](https://github.com/kivy/buildozer/issues/34)

**Merged pull requests:**

- Update default Android NDK to r9 [\#53](https://github.com/kivy/buildozer/pull/53) ([brousch](https://github.com/brousch))
- Added android.wakelock option [\#51](https://github.com/kivy/buildozer/pull/51) ([brousch](https://github.com/brousch))
- Fixed another 'Unknown' typo [\#48](https://github.com/kivy/buildozer/pull/48) ([brousch](https://github.com/brousch))
- Fixed spelling of 'Unknown' [\#47](https://github.com/kivy/buildozer/pull/47) ([brousch](https://github.com/brousch))
- Fixed missing 'r' on ANDROIDNDKVER environment export [\#46](https://github.com/kivy/buildozer/pull/46) ([brousch](https://github.com/brousch))
- make sure android.branch works with fresh clone [\#44](https://github.com/kivy/buildozer/pull/44) ([akshayaurora](https://github.com/akshayaurora))
- Fixed a typo in setdefault description [\#40](https://github.com/kivy/buildozer/pull/40) ([nithin-bose](https://github.com/nithin-bose))
- Package paths [\#38](https://github.com/kivy/buildozer/pull/38) ([Ian-Foote](https://github.com/Ian-Foote))
- add applibs in path for service too [\#26](https://github.com/kivy/buildozer/pull/26) ([tshirtman](https://github.com/tshirtman))
- fix distribute install before installing every dependencies, fix a few i... [\#25](https://github.com/kivy/buildozer/pull/25) ([tshirtman](https://github.com/tshirtman))

## [0.7](https://github.com/kivy/buildozer/tree/0.7) (2013-09-11)
[Full Changelog](https://github.com/kivy/buildozer/compare/0.2...0.7)

**Closed issues:**

- Builds fail on Ubuntu 13.04 with zlib.h missing [\#18](https://github.com/kivy/buildozer/issues/18)
- "buildozer android update" fails with an error about android.branch [\#12](https://github.com/kivy/buildozer/issues/12)
- Problem Ubuntu compilation on network drive [\#10](https://github.com/kivy/buildozer/issues/10)
- \[app\] "android.permission" contain an unknown permission [\#6](https://github.com/kivy/buildozer/issues/6)
- buildozer on ios fails at: Command failed: tools/build-all.sh [\#5](https://github.com/kivy/buildozer/issues/5)
- Automatically installing Android SDK fails in file\_rename called from \_install\_android\_sdk [\#4](https://github.com/kivy/buildozer/issues/4)
- buildozer does not support ~ in android.sdk\_path [\#3](https://github.com/kivy/buildozer/issues/3)

**Merged pull requests:**

- Fix typo 'versionning' -\> 'versioning'. [\#29](https://github.com/kivy/buildozer/pull/29) ([Ian-Foote](https://github.com/Ian-Foote))
- Fixed hard-coded Android API 14 [\#23](https://github.com/kivy/buildozer/pull/23) ([brousch](https://github.com/brousch))
- Fixed \#18: Builds fail on Ubuntu 13.04 with zlib.h missing. [\#20](https://github.com/kivy/buildozer/pull/20) ([roskakori](https://github.com/roskakori))
- Europython sprint updates [\#19](https://github.com/kivy/buildozer/pull/19) ([fabiankreutz](https://github.com/fabiankreutz))
- copy the generated apk back from remote [\#16](https://github.com/kivy/buildozer/pull/16) ([akshayaurora](https://github.com/akshayaurora))
- android.add\_jars config option [\#15](https://github.com/kivy/buildozer/pull/15) ([bob-the-hamster](https://github.com/bob-the-hamster))
- Ouya support [\#14](https://github.com/kivy/buildozer/pull/14) ([bob-the-hamster](https://github.com/bob-the-hamster))

## [0.2](https://github.com/kivy/buildozer/tree/0.2) (2012-12-20)


\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildozer-0.36.tar.gz (93.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page