That's a great news Thomas. I hope someday I'll be able to port my
PySide/QML music player to Android. So far I can see the main problem in
Phonon backend, there probably must be written a special one for Android.
I hope that Google will support this effort.
Please keep us updated on the progress. I'll get my Android phone
tomorrow and then I will test it.
Regards,
Vladimir
Dne 7.7.2011 17:38, Thomas Perl napsal(a):
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
[email protected]
http://lists.pyside.org/listinfo/pyside
_______________________________________________
PySide mailing list
[email protected]
http://lists.pyside.org/listinfo/pyside