lbry-android-sdk/p4a
Akinwale Ariwodola b09e468ffb
Python 3.9.6 (#11)
* build Python 3.9.6
* use Python 3.9 docker image
* fix pyjnius recipe
* remove unused dependencies from cryptography recipe
* fix PYTHON3_DLL_REL_PATH value
* add idna requirement
* Remove m abi flag from python lib (https://docs.python.org/3/whatsnew/3.8.html#build-and-c-api-changes)
* aiohttp==3.6.0
* Add base Dockerfiles for builds
2021-08-21 10:30:12 +01:00
..
doc Switch build tool to Gradle (#15) 2017-12-21 08:24:31 +01:00
pythonforandroid Python 3.9.6 (#11) 2021-08-21 10:30:12 +01:00
test_builds Initial commit 2017-08-13 02:24:00 +01:00
testapps Switch build tool to Gradle (#15) 2017-12-21 08:24:31 +01:00
tests Initial commit 2017-08-13 02:24:00 +01:00
.gitignore Initial commit 2017-08-13 02:24:00 +01:00
.projectile Initial commit 2017-08-13 02:24:00 +01:00
distribute.sh Initial commit 2017-08-13 02:24:00 +01:00
LICENSE Switch build tool to Gradle (#15) 2017-12-21 08:24:31 +01:00
MANIFEST.in Initial commit 2017-08-13 02:24:00 +01:00
README.md Update typos & minor edits. 2018-10-29 15:56:35 -04:00
README.rst Update typos & minor edits. 2018-10-29 15:56:35 -04:00
setup.py Switch build tool to Gradle (#15) 2017-12-21 08:24:31 +01:00

python-for-android

python-for-android is a packager for Python apps on Android. You can create your own Python distribution including the modules and dependencies you want and bundle it in an APK along with your own code.

Features include:

  • Support for building with both Python 2 and Python 3.
  • Different app backends including Kivy, PySDL2, and a WebView with Python webserver.
  • Automatic support for most pure Python modules, and built in support for many others, including popular dependencies such as numpy and sqlalchemy.
  • Multiple architecture targets, for APKs optimized on any given device.

For documentation and support, see:

In 2015, these tools were rewritten to provide a newer, easier to use and extended interface. If you are looking for the old toolchain with distribute.sh and build.py, it is still available at https://github.com/kivy/python-for-android/tree/old_toolchain, and issues and PRs relating to this branch are still accepted. However, the new toolchain contains all the same functionality via the built in pygame bootstrap.

Documentation

Follow the quickstart instructions to install and begin creating APKs.

Quick instructions to start would be::

pip install python-for-android

or to test the master branch::

pip install git+https://github.com/kivy/python-for-android.git

The executable is called python-for-android or p4a (both are equivalent). To test that the installation worked, try

python-for-android recipes

This should return a list of recipes available to be built.

To build any distributions, you need to set up the Android SDK and NDK as described in the documentation linked above.

If you did this, to build an APK with SDL2 you can try e.g.

p4a apk --requirements=kivy --private /home/asandy/devel/planewave_frozen/ --package=net.inclem.planewavessdl2 --name="planewavessdl2" --version=0.5 --bootstrap=sdl2

For full instructions and parameter options, see the documentation.

Support

If you need assistance, you can ask for help on our mailing list:

We also have an IRC channel:

  • Server: irc.freenode.net
  • Port: 6667, 6697 (SSL only)
  • Channel: #kivy

Contributing

We love pull requests and discussing novel ideas. Check out our contribution guide and feel free to improve python-for-android.

The following mailing list and IRC channel are used exclusively for discussions about developing the Kivy framework and its sister projects:

IRC channel:

  • Server: irc.freenode.net
  • Port: 6667, 6697 (SSL only)
  • Channel: #kivy or #kivy-dev

License

python-for-android is released under the terms of the MIT License. Please refer to the LICENSE file.