Skip to main content

Generic Python packager for Android / iOS and Desktop

Project description

Buildozer

travis Backers on Open Collective Sponsors on Open Collective

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

For Android, buildozer will automatically download and prepare the build dependencies. For more information, see Android-SDK-NDK-Information. We recommend targeting Python 3 on Android, but you can target both Python 3 and Python 2 regardless of which version you use with buildozer on the desktop.

Note that this tool has nothing to do with the eponymous online build service 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

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

Support

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

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

We also have a Discord channel:

License

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

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Change Log

0.39 (2019-02-04)

Full Changelog

0.38 (2019-02-03)

Full Changelog

Fixed bugs:

  • TypeError: read() takes exactly 2 arguments (3 given) #793
  • TypeError: read() takes exactly 2 arguments (3 given) #792
  • AttributeError: 'str' object has no attribute 'decode' #756

Closed issues:

  • Openssl compilation fails, '__atomic' undefined #800
  • --ndk-api appears twice #798
  • Error in toolchain.py and argument --ndk-api 9 #797
  • Target ndk-api is 19, but the **python3 recipe supports only 21** #796
  • Add support for --frameworks on iOS #790
  • Hello World impossible: checking whether the C compiler works... no #785
  • Buildozer 0.37 UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 #782
  • APK Crashes on start with no obvious cause #779
  • Outdated Android NDK download URL in Kivy Virtual Machine #778
  • Buildozer "gradlew failed!" #777
  • Conflicting documentation Python2 versus Python3 #774
  • No valid --ndk-api received, using the default of 0 = min(android-api=0, default ndk-api=21) #772
  • default.spec specifies python3 but also incompatible NDK and API settings #770
  • Error: minsdk argument does not match the api that is compiled against #768
  • Need to support sensorLandscape #762
  • minsdk argument does not match the api that is compiled against #761
  • Need to be able to specify the NDK API target #758
  • Buildozer cannot import name pythran_is_numpy_func_supported #753
  • Python3 recipe not building, error with self.ctx.python_recipe #752
  • compile error #744
  • APK build failed "ndk_platform doesn't exist" (Python3.6; android.api = 27) #742
  • Logo Design Proposal #734
  • android clean not working (FileNotFoundError: [Errno 2] No such file or directory) #732
  • Can't Make an APK via Buildozer #712
  • App build Failed #707
  • ERROR: /home/kivy/.buildozer/android/platform/apache-ant-1.9.4/bin/ant failed! #706
  • APK using txt file in main.py issue. #704
  • "Copying APK" fails because of wrong path used #699
  • Cannot build #697
  • Fail on build #692
  • Cannot build "Hello World" APK #687
  • Error when building an android APK using Kivy #684
  • can't get audio stream from a server #683
  • Continuous integration testing #679
  • Post build fails because copying built apk fails #671
  • Buildozer can't compile for Android on Manjaro Linux #670
  • Icon/Logo Proposal #669
  • Buildozer cant compile platform Ubuntu 16.04 #668
  • Buildozer gets stuck at unpacking kivy #667
  • Kivy window #666
  • Failed building wheel for pyaudio #665
  • Buildozer compilation gets stuck #663
  • IOError: [Errno 2] No such file or directory: u'/home/samurai-girl/python2/.buildozer/android/platform/build/dists/test/build/outputs/apk/test-debug.apk' #662
  • Unable to build _ctypes.so #660
  • error while packaging for android on macOS #659
  • Command failed: /usr/bin/python2 -m pythonforandroid.toolchain #658
  • Cannot build apk with buildozer android debug #656
  • How to correctly build an APK package with Python 3? #655
  • SDK does not have any Build Tools installed. #652
  • Error building Kivy app with opencv(and numpy) - raise CommandNotFoundError(path) #651
  • FileNotFoundError: [Errno 2] #649
  • The python3crystax recipe can only be built when using the CrystaX NDK. Exiting. #648
  • build apk : error can not find the build/output folder #647
  • help me building cryptography #646
  • sslv3 alert handshake failure on Addroid #643
  • Opening Android SDK Manager to download "Google Repository" and "Google Play services" #642
  • kivy python host failed #641
  • python.host failed #640
  • Kivy Crashing #638
  • .so lib files missing debug symbols #637
  • Kivy app doesn't run #634
  • "* daemon not running. starting it now on port 5037 * * daemon started successfully *" #633
  • FileNotFoundError: [Errno 2] No such file or directory: '/home/alex/Documents/pengame/.buildozer/android/platform/build/dists/helloworldapp/build/outputs/apk/helloworldapp-debug.apk' #632
  • Compiling Kivy app to apk fails with a pip error #631
  • ERROR: /home/ubuntu/.buildozer/android/platform/apache-ant-1.9.4/bin/ant failed! #625
  • Build error when building Kivy app #624
  • buildozer debug is not running this error is showing #622
  • unexpected e_machine: 3 #621
  • buildozer matplotlib #617
  • IOError: [Errno 2] No such file or directory: u'/Users/gauravgupta/kivy/.buildozer/android/platform/build/dists/myellipse/build/outputs/apk/myellipse-debug.apk' #613
  • Build failing in final ANT stage #610
  • Cannot build apk #606
  • Installing buildozer for Python 3 failed #604
  • FileNotFoundError at end of build when copying APK file. #602
  • BUILD FAILED #601
  • Error with buildozer #591
  • ImportError: No module named Cython.Distutils While running buildozer android debug #587
  • python 2.7 compile with NDK 15c #584
  • Problem upgrade to newest version #583
  • Simple Kivy test app can't compile to android apk #581
  • Apple Watch Support #574
  • Skip error or better error message: requirements with extra comma #562
  • failed to build numpy on Mac #557
  • p4a.source_dir set and android clean --> crash #556
  • Kivy python android build error? #555
  • python3 import networkx needs lib2to3 but cannot be imported #554
  • buildozer android debug deploy run ERROR #550
  • App Crashes #541
  • Requirements: Requests, Ssl #539
  • Error: Aidl cannot be executed #532
  • Kivy and Beautifulsoup with Buildozer fail on Python 3. #529
  • I'm having similar problem #528
  • Awkward error while building apk #526
  • The "android" command is deprecated #519
  • Kivy: Permission denied (when running buildozer android on Mac OS X) #517
  • Extraction of "Kivy2.7z" failed #516
  • buildozer still download ndk from wrong path #506
  • android-new landscape error on restart #482
  • Add possibility to choose pip version for modules in the requirements section #475
  • Bulldozer android_new fails when ffmpeg is added to the requirements: No C Compiler found! #463
  • CalledProcessError: Command '['python', 'package_app.py', '--displayname=Music Favorites']' returned non-zero exit status 1 #448
  • [Errno 13] Permission denied; Buildozer on Flask Server #445
  • Error while compiling a kivy app for android (undefined reference to 'SDL_main' collect2: error: ld returned 1 exit status) #438
  • AsyncImage not loading in .apk #433
  • Big Bug, ORMs cant find sqlite3.so #426
  • cp: cannot stat '~/.buildozer/android/platform/python-for-android/src/libs/armeabi/*.so': No such file or directory #422
  • using android_new causes missing packages errors #420
  • Buildozer fails with "Command '['ant', 'debug']' returned non-zero exit status 1" #419
  • Buildozer fails to build when ffmpeg is added #418
  • Build on arm64 android #412
  • Building with "android_new" target fails due to missing architecture on pythonforandroid.toolchain apk #407
  • Command '['ant', 'debug']' returned non-zero exit status 1 when building PIL library #406
  • Android, Pygame backend: buildozer android debug deploy run tries to launch wrong Activity #401
  • AttributeError: 'NoneType' object has no attribute 'splitlines' #400
  • Pyzmq import fails on Android with python2 / kivy 1.9 / cython 0.23 #397
  • Python 3: # Aidl cannot be executed AttributeError: 'module' object has no attribute 'maxint' #392
  • subprocess.CalledProcessError #391
  • python.host could not find platform independent libraries #390
  • Buildozer android_new fails #388
  • toolchain.py: error: argument --private is required #384
  • Android fails on running Kivy apk #381
  • ImportError: No module named plyer with android_new as a target #379
  • buildozer -v android debug runs into problem #376
  • subprocess.CalledProcessError #372
  • Can't install Pillow , return errors #371
  • failed to load ctypes as android app built on OSX #368
  • old_toolchain not shows images #367
  • Buildozer deployment dlopen failed libSDL2.so has unexpected e_machine: 40 #365
  • Rebuild only selected packages #226

Merged pull requests:

0.36 (2018-11-21)

Full Changelog

Fixed bugs:

  • Error in debug, install platform, Indexerror. #731

Closed issues:

  • Buildozer looking for nonexistent script #749
  • Can not build APK file with buildozer. UnicodeDecodeError #746
  • CrystaX no longer the preferred NDK for Python3 #745
  • AKP build fails (android.py line 524) #738
  • Buildozer 0.35 with IndexError: list index out of range on Mac OS #737
  • cannot build pyjnius for armeabi-v7a #735
  • I can't package my app the way i always did. #733
  • OSError: [Errno 18] Invalid cross-device link #644

Merged pull requests:

  • Correctly write out a sub-process's stdout when using Python 3. #743 (dbrnz)
  • Explicitly run pip3 when using Python 3 #741 (dbrnz)
  • workaround for working in WSL #740 (tshirtman)
  • Allow for install\_reqs line having whitespace at start. #736 (dbrnz)
  • Fix Support config file name #730 (dessant)

0.35 (2018-10-24)

Full Changelog

Fixed bugs:

  • Buildozer should not regex/hack install_reqs #722

Closed issues:

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

Merged pull requests:

0.34 (2017-12-15)

Full Changelog

Closed issues:

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

Merged pull requests:

0.33 (2017-05-15)

Full Changelog

Fixed bugs:

  • Installation of python for android is missing dependencies #501

Closed issues:

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

Merged pull requests:

v0.32 (2016-05-09)

Full Changelog

Closed issues:

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

Merged pull requests:

v0.31 (2016-01-07)

Full Changelog

Closed issues:

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

Merged pull requests:

0.30 (2015-10-04)

Full Changelog

Closed issues:

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

Merged pull requests:

  • Changed p4a download to pull old_toolchain branch #233 (inclement)
  • Added support for downloading and handling android ndk r10 versions. Fixes #229 and #227 #230 (dvenkatsagar)
  • make _read_version_subdir return parse('0') instead of [0], otherwise… #206 (denys-duchier)

v0.29 (2015-06-01)

Full Changelog

Fixed bugs:

  • version problem with split #201

Closed issues:

Merged pull requests:

v0.27 (2015-03-08)

Full Changelog

Closed issues:

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

Merged pull requests:

0.26 (2015-01-28)

Full Changelog

Merged pull requests:

  • ensure whitelist always has a list #172 (kived)

0.25 (2015-01-27)

Full Changelog

0.24 (2015-01-27)

Full Changelog

0.23 (2015-01-27)

Full Changelog

0.22 (2015-01-27)

Full Changelog

v0.21 (2015-01-14)

Full Changelog

Merged pull requests:

  • removed some indentation in example info, added to actual comments inste... #168 (chozabu)

0.19 (2014-12-17)

Full Changelog

0.18 (2014-12-17)

Full Changelog

Closed issues:

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

Merged pull requests:

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

0.17 (2014-09-22)

Full Changelog

0.16 (2014-09-22)

Full Changelog

Closed issues:

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

Merged pull requests:

0.15 (2014-06-02)

Full Changelog

Closed issues:

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

Merged pull requests:

0.14 (2014-04-20)

Full Changelog

0.13 (2014-04-20)

Full Changelog

0.12 (2014-04-20)

Full Changelog

0.11 (2014-04-20)

Full Changelog

Closed issues:

  • Text provider #105
  • No installation instructions #104

0.10 (2014-04-09)

Full Changelog

Closed issues:

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

Merged pull requests:

0.9 (2014-02-13)

Full Changelog

Closed issues:

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

Merged pull requests:

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

0.8 (2013-10-29)

Full Changelog

Fixed bugs:

  • _patch_application_sources breaks from __future__ imports #35

Closed issues:

  • unresolved domain: pygame.org #34

Merged pull requests:

0.7 (2013-09-11)

Full Changelog

Closed issues:

  • Builds fail on Ubuntu 13.04 with zlib.h missing #18
  • "buildozer android update" fails with an error about android.branch #12
  • Problem Ubuntu compilation on network drive #10
  • [app] "android.permission" contain an unknown permission #6
  • buildozer on ios fails at: Command failed: tools/build-all.sh #5
  • Automatically installing Android SDK fails in file_rename called from _install_android_sdk #4
  • buildozer does not support ~ in android.sdk_path #3

Merged pull requests:

0.2 (2012-12-20)

* This Change Log was automatically generated by github_changelog_generator

Download files

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

Source Distribution

buildozer-1.0.tar.gz (111.2 kB view hashes)

Uploaded Source

Built Distributions

buildozer-1.0-py3-none-any.whl (77.9 kB view hashes)

Uploaded Python 3

buildozer-1.0-py2.py3-none-any.whl (73.0 kB view hashes)

Uploaded Python 2 Python 3

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