Review Request: Allow user Java/C++ interaction
Tyler Mandry
tmandry at gmail.com
Sat Mar 31 22:08:20 UTC 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104450/
-----------------------------------------------------------
(Updated March 31, 2012, 10:08 p.m.)
Review request for Necessitas and BogDan Vatra.
Changes
-------
added SF.net bug #
Description (updated)
-------
Allows interaction between user Java and user C/C++ (JNI) code, by loading the user's code in the main class loader.
SF.net bug: 140
Details
-------
This removes everything in src/android/cpp. qtmain_android.cpp is no more and is now integrated into src/plugins/platforms/android/src/androidjnimain.cpp. It seemed fitting to integrate startQtApp() into the same file as pauseQtApp() and resumeQtApp(). (Additionally this removes redundant copied code, and simplifies how necessitas projects work and are built.)
Compatibility
-------------
New library should be fully compatible with apps *already built* with old versions (before this change.) To build against the new library, existing projects simply need to update their QtActivity.java file.
Other
-----
This doesn't support using JNI with bundled libs. We have to be careful to load certain bundled libs (maybe only the plugin .so) in the delegate class loader, so I could break certain apps by making such a switch. Need a way to categorize the type of bundled lib, in order to decide which class loader to use.
Diffs
-----
mkspecs/android-g++/qmake.conf ff30694
mkspecs/features/qt.prf a254437
src/android/cpp/qtmain_android.cpp e5f5fc8
src/android/jar/src/org/kde/necessitas/industrius/QtActivityDelegate.java 85add90
src/android/jar/src/org/kde/necessitas/industrius/QtNative.java 24ebb5b
src/android/java/src/org/kde/necessitas/origo/QtActivity.java fcbccef
src/plugins/platforms/android/src/androidjnimain.cpp 20d7df5
Diff: http://git.reviewboard.kde.org/r/104450/diff/
Testing
-------
Tested on a Galaxy Nexus and a Nexus One.
New libraries run both old and new apps.
New libraries support JNI interaction.
Thanks,
Tyler Mandry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/necessitas-devel/attachments/20120331/93bb4814/attachment.html>
More information about the Necessitas-devel
mailing list