= !PySide for Android = [[PageOutline]] This guide describes: * how to build Shiboken & !PySide for Android using the Necessitas SDK * how to use the resulting libraries * and how to bundle them with your Python program in a standalone APK '''NOTE:''' If you just wan't to run you Python & !PySide programs on Android, you can skip the ''Building !PySide'' section. ''' Do you see something incorrect or missing from the guide ? [http://modrana.org/trac#Contactthedeveloper Let me know], so I can fix it ! :)''' == Building !PySide == === Preparation === First install the prerequisites: * Necessitas SDK (make sure you have the Android SDK platform 14 installed in it) * system-wide installed Shiboken * system-wide installed Python 2.7 * Python 2.7 compiled for Android * cmake * git This command should probably fetch most of the prerequisites on Ubuntu: {{{ sudo apt-get install build-essential cmake git python2.7-minimal shiboken }}} If you find some are is missing or if you wan't to provide similar command for other distributions, let me know ! :) Then clone the ''Android-pyside-build-scripts'' project and ''cd'' to it's directory: {{{ git clone git@github.com:M4rtinK/android-pyside-build-scripts.git cd android-pyside-build-scripts }}} Now run the ''prepare.sh'' script: {{{ ./prepare.sh }}} It clones Android-modified Shiboken & !PySide and creates some folders needed for the build. And that's it, you are ready to start the build. :) === Build === To start the build, just run the main build script, called ''build.sh'': {{{ ./build.sh }}} It first builds Shiboken, followed by !PySide. The script is fully automatic, but waits for the user to ''press any key'': * after Shiboken is configured for build * after Pyside is configured for build Like this you can easily check for any errors during configuration. Also note, that when running the script, it clears any previous build results before building. You can also run the ''build_shiboken.sh'' and ''build_pyside.sh'' scripts manually, just always make sure to run the Shiboken one before running the !PySide one. === Results === The resulting !PySide libraries compiled for Android are located in the ''stage/lib'' folder. == Acknowledgement == As usual with open source development, I haven't done all of this single handedly, but built on work done by others previously. So I'd like to both acknowledge on which work this is build upon and also provided links to the sources I've used: * THPs [http://thp.io/2011/pyside-android/ PySide for Android] - showing that this is possible * Ssortagem@Github - integrated & improved THPs patches for [https://github.com/ssorgatem/PySide/tree/android Shiboken] and [https://github.com/ssorgatem/PySide/tree/android PySide] * [http://code.google.com/p/android-python27/ android-python27] - solved the APK bundling issue, provides Android-buildable Python 2.7 * [http://hg.microcode.ca/blackberry-py/wiki/Building%20PySide the BlackBerry-Py Building PySide guide] - I've used this as a base when making the Android build scripts * [http://qt-project.org/ Qt ] - provides the GUI toolkit :) * [http://qt-project.org/wiki/PySide PySide] - for provides the Python-Qt bindings Thanks a lot - without you, this would not be possible! :)