Python scripts can be run on Android using the Scripting Layer For Android (SL4A) in combination with a Python interpreter for Android.
Scripts can access Android specific features such as calling, text message (SMS), take picture, text to speech, bluetooth and many more.
In this article you will learn how to run Python on Android devices using SL4A.
SL4A is designed for developers
Keep in mind that SL4A is designed for developers and in alpha quality software.
First enable installation of programs from unknown sources. By default Android devices can only install apps from the Google Play Store.
You have to enable the permission ‘Install from Unknown Sources’, by going to Settings -> Security -> Unknown Sources and tap the box.
After you have have updated these settings donwload the SL4A APK. Visit https://github.com/kuri65536/sl4a on your Android device and download the SL4A APK (or use the QR code on the right).
Once downloaded an installation menu will popup, requesting all permissions on your Android device.
Install Python 3 for Android
Install the Py4A app. The Python for Android app is built to run solely on
Android devices. You should use this app together with SL4A.
You can pick any version of Py4A, but bare in mind the supported version on Android:
- Python 2 requires Android Device >= 1.6
- Python 3 requires Android Device >= 2.3.1
The git repository is: https://github.com/kuri65536/python-for-android/releases
You could also use the QR code on the right using a QR scanner on your Android device.
Once Py4A is installed, start the app and press install. This will install the Python interpreter.
Open SL4A again. Many scripts will appear (in a list). You can now run Python scripts on your Android Device!
Press on a program such as speak.py A little popup will be shown. Pressing on the terminal icon will start the Python script.
The third button (the pencil) will open an editor. This is not a full blown IDE but a simple editor.
It doesn’t have syntax highlighting.
Scripting on Android
You may prefer your favorite Python editor whatever it may be (vim/emacs fans here? PyCharm? Atom?)
All scripts are stored in /sl4a/scripts/
Note: File extension
If you installed the Python 3 interpreter, the programs will show with a .py3 extension instead of a .py extension.
A simple program (Spaceship Launch):
"""TTS Rocket Launch.""" __author__ = 'Frank <firstname.lastname@example.org>' import android droid = android.Android() message = "Python on Android" droid.ttsSpeak(message) for i in range(10,0,-1): droid.ttsSpeak(str(i)) droid.ttsSpeak("We have lift off!") droid.ttsSpeak("rrrrrr")