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
Google Play links
User interface
Android APIs
Call Python from Java
Native Python packages
Standalone APK
iOS
Desktop OSs
BeeWare is a toolkit for developing cross-platform apps with native user interfaces. Its Android support is based on Chaquopy.
3.10 - 3.14
None
Native Android
All
Yes
Yes
Yes
Kivy is a cross-platform OpenGL-based user interface toolkit.
2.7, 3.5, 3.6
Kivy
All via PyJNIus or Plyer
Via interface
Yes
Yes
Yes
QPython is an on-device script engine and development environment.
2.7, 3.2, 3.6
Kivy, SL4A
All via PyJNIus or 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
Terminal
Some via Termux:API
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.