Bad JNI version returned libjoal.so Android 2.5.0

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Bad JNI version returned libjoal.so Android 2.5.0

philjord
Hi,
I'm getting this error when I try to load joal on Android:

java.lang.UnsatisfiedLinkError: Bad JNI version returned from JNI_OnLoad in "/data/app/~~E76tSYqX0aoQ-wWp1fI3gQ==/com.ingenieur.ese.eseandroid-h88AVfuRCkQwI3dnYASMBA==/base.apk!/lib/arm64-v8a/libjoal.so": 65544
at java.lang.Runtime.load0(Runtime.java:929)
at java.lang.System.load(System.java:1625)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:604)
at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64)
at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:107)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:488)
at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:427)
at com.jogamp.common.os.DynamicLibraryBundle.loadLibraries(DynamicLibraryBundle.java:309)
at com.jogamp.common.os.DynamicLibraryBundle$1.run(DynamicLibraryBundle.java:127)
at com.jogamp.common.util.RunnableExecutor$CurrentThreadExecutor.invoke(RunnableExecutor.java:47)
at com.jogamp.common.os.DynamicLibraryBundle.<init>(DynamicLibraryBundle.java:124)
at jogamp.openal.ALImpl$1.run(ALImpl.java:1616)
at jogamp.openal.ALImpl$1.run(ALImpl.java:1614)
at java.security.AccessController.doPrivileged(AccessController.java:43)
at com.jogamp.common.util.SecurityUtil.doPrivileged(SecurityUtil.java:82)
at jogamp.openal.ALImpl.<clinit>(ALImpl.java:1614)
at jogamp.openal.ALImpl.getALProcAddressTable(ALImpl.java:1632)
at com.jogamp.openal.ALFactory.initialize(ALFactory.java:91)
at com.jogamp.openal.ALFactory.getALC(ALFactory.java:137)
at com.jogamp.openal.util.ALut.alutInit(ALut.java:64)
at tools3d.audio.JOALMixer.initialize(JOALMixer.java:810)


The libopenal.so next to libjoal.so is loading fine

The lib location is an odd place in the built apk from Android Studio, but the Native loading system finds these libraries from there happily.

Obviously the other lib files for jogl load fine and 3d is running well
libgluegen_rt.so
libjogl_mobile.so
libnewt_head.so
libopenal.so


The libjoal.dll loads up fine on Windows 10

This .so file comes from
https://jogamp.org/deployment/v2.5.0/jar/joal-android-natives-android-aarch64.jar

The .so file is a different size (59,064) from the one in the 2.4.0 (54,824) and 2.3.2 (58,384) jars so I presume it's not a simple mis-packaging issue.

Is this a bug in the build or can I do some more to figure out the issue?

Thanks,
Phil.
Reply | Threaded
Open this post in threaded view
|

Re: Bad JNI version returned libjoal.so Android 2.5.0

Sven Gothel
Administrator
Hi Phil, thx for re-testing on Android!

Good that all works but JOAL :-)

Not sure what I have missed there .. but will check on it later these days.

Guess: I messed up the JNI version stuff in JOAL?
We have a build-in 'ON_LOAD' native function in JOGL and GlueGen,
perhaps I have forgotten to adjust things for JOAL?

~Sven