View Single Post
Bundyo's Avatar
Posts: 4,708 | Thanked: 4,649 times | Joined on Oct 2007 @ Bulgaria
#82
Just a quick overview of what I have been doing.

I noticed that apkenv doesn't take into account the fact that some games may have multiple libraries in the lib folder and just loads the first of them and tries to bind the modules to it. Unfortunately there is no easy fix for this, as the main library is not listed anywhere and can't be detected too (JNI_OnLoad for instance can be sometimes found in more than one of the libs in the folder).

So taking this into account, I've added a possibility for a module to specify which library it wants to use (partial match so you can skip .so). Also changed the folder match to partial, as there are variations.

There is another road block - when the libraries in the lib folder are several, they are referencing each other, next I'll work on mechanism to extract them all somewhere (though it can be slow as I don't have much time), currently you can just extract them in the bionic folder.

Third issue I've noticed - some libraries only export JNI_OnLoad and Unload and bind the native functionality by hand in JNI_OnLoad. This prevents the module to bind directly to them in try_init. I'm open to suggestions how this can be detected and made automatic.

My fork is here:
https://github.com/bundyo/apkenv
__________________
Technically, there are three determinate states the cat could be in: Alive, Dead, and Bloody Furious.
 

The Following 8 Users Say Thank You to Bundyo For This Useful Post: