Size: 3437
Comment:
|
Size: 3168
Comment: Remove detail which is unnecessary on this summary page
|
Deletions are marked like this. | Additions are marked like this. |
Line 18: | Line 18: |
* Although Android's primary programming language is Java, there is no known port of [[Jython]] to the platform. Android support in !BeeWare was originally achieved using VOC, a tool that compiles Python source code to Java class files. However, recent work has focused on [[https://beeware.org/news/buzz/python-on-android-its-alive/|a CPython-based implementation]] instead of VOC. | * Although Android's primary programming language is Java, there is no known port of [[Jython]] to the platform. |
There are several ways to use Python on Android. The following table summarizes those projects which are currently active:
Project |
General |
APIs |
Build |
|||||||
Python versions |
Open-source |
Google Play links |
User interface |
Other Android APIs |
Java-to-Python integration |
Native Python packages |
Standalone Android APK |
iOS |
Desktop OSs |
|
BeeWare is a collection of tools for building native user interfaces. |
3.4+ |
Yes |
None |
Native Android |
All |
Yes |
None |
Yes |
Yes |
Yes |
Chaquopy is a plugin for Android Studio's Gradle-based build system. |
3.8 |
No |
Native Android |
All |
Yes |
Yes |
No |
No |
||
Kivy is a cross-platform OpenGL-based user interface toolkit. |
2.7, 3.5, 3.6 |
Yes |
Kivy |
All via PyJNIus, or some via Plyer |
No |
Yes |
Yes |
Yes |
||
pyqtdeploy is a tool for deploying PyQt applications. |
3.6 |
Yes |
None |
Qt |
Any exposed by Qt |
No |
Some |
Yes |
Yes |
Yes |
QPython is an on-device script engine and development environment. |
2.7, 3.2, 3.6 |
Yes |
Kivy, SL4A |
All via PyJNIus, or some via SL4A |
No |
No |
No |
No |
||
Termux is a Linux distribution for Android that ships Python as well as a local build environment |
2.7, 3.6 |
Yes |
Termux, Termux:API (command-line wrappes) |
terminal |
only by calling termux's command line wrappers |
No |
Any where dependencies are packaged |
No |
No |
No |
In addition, there are a number of projects which are inactive or incomplete:
- SL4A (Scripting Layer for Android), originally named ASE (Android Scripting Environment), is a set of "facades" which expose a greatly-simplified subset of the Android API. The project was originally developed within Google, but is no longer supported by them. However, a fork of the library is distributed with QPython.
PySide (the Python binding for the Qt toolkit) has some preliminary support for Android.
Although Android's primary programming language is Java, there is no known port of Jython to the platform.