Yesterday I finished basic integration of "Lite" plugin and QtAndroidCore library yesterday, so now it should be working out of box. "Lite" is a new single-window plugin written by our team (the windowing part is done by marflon, actually) from scratch. There's a separate version of QtAnimatedTiles which builds for Lite, however, differences with the other version are tiny (just 2 lines in Java code and different app name in manifest) and I will take out the old one soon. Also, "Lite" will be the default plugin. mw_grym will be probably discontinued later, unless it will be revived for OpenGL support (not sure it won't be better to add support into Lite instead). For these who didn't read my previous post on QtAndroidCore, it's the library which integrates Qt and Android except for windowing system and functions which definitely should go into QtMobility (like positioning, cell network functions, and etc.) Both mw_grym and lite support all additional functionality implemented in QtAndroidCore and core Java - just check the sources to get the impression of amount of stuff needed to be done in addition to windowing layer to make a real-life application working. Some features of QtAndroidCore-based plugins: - Dynamic libraries can be put into application's APK (Qt libs or additional libs used by your application), so you can distribute your application to end users now. Known issues in QtAndroidCore (applicable to both Lite and mw_grym): 1. Full-screen software keyboard doesn't show what you are typing. This should be fixed in this quarter. Needs analyzing of Android sources because documentation doesn't contain enough information. There's a non-fullscreen mode like in BogDan's version which can be selected through an exported function, but, like in mw/sw it doesn't support Known issues in Lite: 1. Doesn't support Z-order of windows, so you have to have only one top-level window at once. Well, nobody else has that for now. Known issues in mw_grym: 1. Totally cannot work with multiple top-level widgets and if you have non-TLW widgets with NULL parents (e.g. put over QGraphicsView) you have to enable the TLW filter hack. 2. May go blank screen after application is sitting in background few for hours and device being used for other tasks, for unknown reasons. Now a little FAQ: NDK and Android version support: Support for Android 2.1 and 2.2 is guaranteed to continue, and support for 1.7 will be probably added as soon as Qt 4.8 come out and allow to use Lighthouse under commercial license. For now we are using QADK or newer Crystax NDK with additional files from QADK (see README.android). QtCreator support: I will merge QtCreator-related stuff from BogDan's branch a bit later, however, it will not work out of box for now because we use another directory for Java to reduce merging problems, and another plugin libraries. That's very easy to fix but we just don't have time yet. QtAndroidBridge: It is completely taken out, however, its public header has been left there and modified to take JNI values from QtAndroidCore. QtMobility: We don't use it now and don't plan to in foreseeable future, but it should not be problem to use someone else's version. OpenGL: mw_grym has OpenGL at the point where BogDan left it in mw (i.e. not working). There's a version of mw_grym (libQtAndroidNoGl.so) which is built without OpenGL support and therefore doesn't require BogDan's mw/sw: These plugins have been left in the repository only as a reference and to ease downstream merging. They are not functional at the moment because QtAndroidMain interface has been changed and because they don't load QtAndroidCore. mw_grym is much bugfixed and improved version of mw, so there's no reason to support the old mw at all. sw has been developed in parallel with Lite and basically does the same but with a bit different approach. If anyone sees any advantages in adding support for QtAndroidCore into sw and supporting it as well - you are welcome to do that. Also sw can be modified to share the same Java layer as mw_grym in the same manner as mw & sw do. Merging into android-lighthouse: Didn't happen in past 6 months, so don't wait for that. Link to the repository: http://gitorious.org/+grym/qt/grym-android-lighthouse Also posted to: http://groups.google.com/group/android-qt UPDATE (2015-04): Since Gitorious is going to be shut down the repository has been migrated to GitLab and can be found here:
Tags: Заметки, Программирование.
Archives
|