Dear PySiders, If you aren't lurking around in #pyside on FreeNode IRC, you might not have read it yet: We now have a port of PySide to Android!
URL: http://thp.io/2011/pyside-android/ PySide for Android is only possible due to these cool projects: * Necessitas (Qt for Android) * Py4A (Python for Android) * PySide (you know this one..) It was a nice learning experience to see how all the PySide parts (apiextractor, generatorrunner, shiboken, pyside) play together. For building PySide for Android, I first needed to compile PySide for my host machine, and then use the PySide tooling + the Android NDK + Necessitas SDK to build libshiboken and later libpyside and the Qt bindings for Android. One thing that I noticed was that the PySide bindings (QtCore.so, QtGui.so, etc..) and libpyside depend on the "versioned filename" (is that correct?) of libshiboken, i.e. libshiboken-python2.6.so.1.0 instead of just libshiboken-python2.6.so (which gave me some problems with the bionic linker, but then I took the dirty route and patched zero bytes on top of the trailing ".1.0" in all the affected files - would be good to know if there is a way to build it so that the dependency is on libshiboken-python2.6.so and libpyside-python2.6.so without the trailing version number). Also, the bionic linker has a low upper limit for the number of shared libraries that can be loaded simultaneously - would it theoretically be possible to combine the bindings (QtCore.so, QtGui.so, etc..) into a single shared library that is then loaded, or alternatively to do something along these lines with Qt so that the number of different libraries required for getting a QML-based PySide application up and running is reduced? (i.e. with the current setup, the linker has to load libpython, libshiboken, libpyside, libQtCore, ilbQtGui, libQtDeclarative (+all its dependencies) and the binding modules PySide.QtCore, PySide.QtGui, PySide.QtDeclarative, etc..) It's no problem on the emulator, but on a device with a full-blown QML application, i get a linker error that the maximum number of libaries are reached (this error message comes from bionic's linker and according to linker.c is triggered when more than SO_MAX shared libraries are loaded). Looking forward to your feedback, comments, contributions and improvement suggestions. Enjoy! Thomas _______________________________________________ PySide mailing list PySide@lists.pyside.org http://lists.pyside.org/listinfo/pyside