SL4A: Android Python Scripting

Python scripts can be run on Android using the Scripting Layer For Android (SL4A) in combination with a Python interpreter for Android.

The SL4A project makes scripting on Android possible, it supports many programming languages including Python, Perl, Lua, BeanShell, JavaScript, JRuby and shell.  The SL4A project has a lot of contributors from Google but it is not an official Google project. 

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.

Install SL4A

QR: Link to SL4A APK

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  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

QR Code 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:

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.

Android Python 3 Install



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 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 <[email protected]>'
import android
droid = android.Android()
message = "Python on Android"
for i in range(10,0,-1):
droid.ttsSpeak("We have lift off!")

More examples: