简体   繁体   中英

How to package native library in Android app?

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 look 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?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM