View Single Post
B-RUNO's Avatar
Posts: 124 | Thanked: 125 times | Joined on Sep 2010
#627
News

2012-11-16 Some documentation on how to check if an .apk can theoretically work with apkenv:

Get the .apk file you want to run
Use an "unzip" utility to extract the files in the apk
Look for .so files in lib/armeabi/ (sometimes you have to look in lib/armeabi-v7a/ as well)
Check for JNI methods: strings libyourapplication.so | grep Java_
If some methods are found (and ideally if they have a name that sounds like rendering, updating, initalization, resizing or touch or button input functions), chances are good
If not, grep for JNI_OnLoad - if this function exists, it could be that you can still get it working (if the library registers its functions at runtime using JNI_OnLoad)
If you find methods starting with Java_ (or the JNI_OnLoad function), it means that it is theoretically possible to get it working with apkenv. If you don't find a .so file at all, or if it doesn't have any of the functions mentioned above, then apkenv can not be used to get this application/game running (and never will be). As an exercise for the reader, list applications/games for which the Java_ functions exist, and what function names there are. Happy hunting!

2012-11-16 The wrapper generator scripts that are used to generate compatiblity function wrappers are now open source:

github.com/harmattan/apkenv-wrapper-generator

Contributions welcome. You can use these scripts to extract a list of required library functions (libc, OpenGL ES) from JNI libraries and then post-process the list of required functions and then build lightweight wrapper functions from them. The scripts are quite hack-ish at some corners, but they Work For Me(tm). Cleaner solutions to getting the prototype declaration of a function name are welcome, as are improvements to the code generator (generate_wrappers.py). More to come, stay tuned!
Thanks for the update THP
__________________
Proud owner of a Nokia N900
If you like my post hit the Thanks button!
 

The Following 3 Users Say Thank You to B-RUNO For This Useful Post: