I'm trying unsuccessfully to include a pre-built library that uses native code in an Android app. I can't figure out what I'm doing wrong.
The contents of the finished .apk file l开发者_开发百科ook as follows. (I'm using NetBeans and Ant to build everything - I can include the relevant parts of the Ant script if anybody wants it.)
META-INF
assets
libs >
armeabi >
libandroidgl20.so
libgdx.so
res
AndroidManifest.xml
classes.dex
resources.arsc
In the application code, I have:
static {
System.loadLibrary("gdx");
System.loadLibrary("androidgl20");
}
But I keep getting the error: java.lang.UnsatisfiedLinkError: Library gdx not found
.
Am I putting the .so files in the right place? Do I need to do anything else to make sure the runtime is aware of them?
System.load() requires the exact path (including full name) to the shared object. This is what you're doing wrong.
Use System.loadLibrary("gdx");
instead.
Are you sure all the dependencies of 'gdx' are met ?
Is there any unimplemented native function in that library ?
精彩评论