Skip to content

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

License

Notifications You must be signed in to change notification settings

dcorio/python-for-android

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 84.0%
  • C++ 5.4%
  • Shell 4.3%
  • Python 3.9%
  • Java 1.0%
  • Objective-C 0.9%
  • Other 0.5%