Skip to content

kivy/python-for-android

This branch is 39 commits ahead of, 3188 commits behind develop.

Repository files navigation

WARNING: This old python-for-android toolchain is deprecated and no longer supported. Please move to the current toolchain, see https://github.com/kivy/python-for-android.

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

  2. Launch "android", and download latest Android platform, here API 14, which would be Android 4.0

  3. 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)

  4. Clone python-for-android:

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

    cd python-for-android
    ./distribute.sh -m "openssl pil kivy"
    
  6. 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
    
  7. Install the debug apk to your device:

    adb install bin/touchtracer-1.0-debug.apk
    
  8. 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