If you’re a python developer and lazy enough to not learn Java for Android app development, we got a number of solutions for you. You may not be lazy, but you want to run your existing Python scripts on Android, this guide will help you get there.
We love Python as much as Java, so we decided to compile all possible ways to Run Python on Android and even iOS.
Lets look at a number of solutions that would help you run Python on Android.
Method 1: Kivy
Kivy is an open source Python library for quickly developing Android based applications that make use of innovative user interfaces, such as multi-touch apps. Kivy runs on Linux, Windows, MacOSX, Android and iOS. You can run the same code on all supported platforms, without any ports.
Kivy is a modern cross-platform Python GUI toolkit that runs on mobile devices (Android and iPhone) and supports modern input events (multitouch, accelerometor). The best way to describe the Kivy Language is “what HTML5 wishes it was.” It is mostly just a layout language, but it also supports binding properties and events using inline Python snippets. It is indentation defined, like Python, and utilizes a minimal amount of syntax with a maximal amount of readability. You can checkout sample here.
It comes with native support for many multi-touch input devices, a growing library of multi-touch aware widgets and hardware accelerated OpenGL drawing. Kivy is designed to let you focus on building custom and highly interactive applications as quickly and easily as possible.
With Kivy, you can take full advantage of the dynamic nature of Python. There are thousands of high-quality, free libraries that can be integrated in your application. At the same time, performance-critical parts are implemented in the C language.
Kivy is able to run on any android, but you need a phone with atleast:
- SD Card
- OpenGL ES 2.0 (Android 2.2 minimum)
Showcase app on PlayStore
Method 2: ASE Android Scripting Environment
The Android Scripting Environment (ASE) is Google’s official answer to making scripting developer’s life easier on Android. Scripting languages can be used to develop full fledged Android applications.
The ASE allows developers to develop directly on the Android powered device without the need for a separate computer using Android’s development environment.
The ASE scripts will allow access to many of the API’s that are available to application developers. The major API features include:
- Handle intents
- Start activities
- Make phone calls
- Send text messages
- Scan bar codes
- Poll location and sensor data
- Use text-to-speech (TTS) and many more
Method 3: SL4A: Scripting Layer for Android
Scripting Layer for Android (SL4A) is essentially extension of ASE, and allows you to edit and execute scripts and interactive interpreters directly on the Android device. These scripts have access to many of the APIs available to full-fledged Android applications, but with a greatly simplified interface that makes it easy to get things done.
SL4A was used by the Nexus One payload for sensor logging. See the article in Make for more information about the project.
Method 4: Cross compile Python source for Android ARM
If you wish to have full fledged Python on Android, why not port it to run on ARM devices like Android? Check the extensive guide here.
Method 5: Pygame
Pygame is a framework for creating Android based games using Python. Checkout the project details.
Know a better way? let us know in comments. We will include them and give credit.