[Mobile-sig] python on android

Frank, Matthew I matthew.i.frank at intel.com
Fri Feb 27 21:01:03 CET 2015


Ethan Furman wrote:
> PEP 11 [1] has been updated to clarify what is need to officially support a platform:
> 
>    First, a core developer [2] needs to volunteer to maintain platform-specific code.
> 
>    Second, a stable buildbot must be provided.
> 
> I volunteer to maintain the android specific code (I have zero qualifications to help with
> any other mobile platform), and I am working on providing a stable buildbot for the
> android platform.
> 
> Cyd has successfully built 3.4.2 in a KBOX environment on his android device, and is
> working on making the patches accessible (thanks, Cyd!)
> 
> While Cyd's efforts are an important first step, I think many users are not going to
> want to install KBOX to get Python, so what are the other options?

Thank you Ethan!

I think it is highly preferred that the Android build be cross-compiled from a Linux box.  This should make the buildbot somewhat easier since the Android cross-compilers are relatively easy to install there without messing anything up.  Then the testing rule can be done one of two ways: (1) if you're building x86 Android binaries we could test them on a Qemu image running on the same machine that did the build or (2) (preferably) you would have some sort of ARM-based machine as part of your buildbot pool, you would run Android on that machine and then after the build, push the result to the Android machine (using "adb push") and invoke the unit tests (using "adb shell ...") from the build machine (or from the buildbot server, I guess).  For Ubuntu 14.04, in particular, it is pretty easy to get _just_ the adb tool (you don't have to install the whole Android SDK), using just "apt-get install android-tools".

There are a couple of examples of people hacking stuff up to get an end-to-end cross compilation working.  Mine (tested only on x86) is at https://github.com/wandering-logic/android_x86_python-3.4.  As Russ Magee has pointed out, my port (like all the others) still involves hackery to modify python.h after running configure.  I'm still working on getting rid of those problems.

-Matt


More information about the Mobile-sig mailing list