/python-for-android

Turn your Python application into an Android APK - Build your own python and extension

Primary LanguageCMIT LicenseMIT

Python for Android

Python for android is a project to create your own Python distribution including the modules you want, and create an apk including python, libs, and your application.

Global overview

  1. Download Android NDK, SDK
  1. Launch "android", and download latest Android platform, here API 14, which would be Android 4.0

  2. Export some environment variables:

    export ANDROIDSDK="/path/to/android/android-sdk-linux_86"
    export ANDROIDNDK="/path/to/android/android-ndk-r8c"
    export ANDROIDNDKVER=r8c
    export ANDROIDAPI=14
    
(Of course correct the paths mentioned in ANDROIDSDK and ANDROIDNDK)
  1. Clone python-for-android:

    git clone git://github.com/kivy/python-for-android
    
  2. Build a distribution with OpenSSL module, PIL and Kivy:

    cd python-for-android
    ./distribute.sh -m "openssl pil kivy"
    
  3. Go to your fresh distribution, build the APK of your application:

    cd dist/default
    ./build.py --package org.test.touchtracer --name touchtracer \
    --version 1.0 --dir ~/code/kivy/examples/demo/touchtracer debug
    
  4. Install the debug apk to your device:

    adb install bin/touchtracer-1.0-debug.apk
    
  5. Enjoy.

Troubleshooting

if you get the following message:

Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !

a solution is to remove the "awk" binary in the android ndk distribution

rm $ANDROIDNDK/prebuilt/linux-x86/bin/awk