Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 848
Mike Baranczak Avatar asked Jan 18 '26 00:01

Mike Baranczak


1 Answers

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.

like image 197
mah Avatar answered Jan 19 '26 13:01

mah



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!