Description
I just tried to start a simple android test application, but the result I got was:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.github.MeFisto94.android.jme3.test-1/base.apk"],nativeLibraryDirectories=[/data/app/com.github.MeFisto94.android.jme3.test-1/lib/x86, /system/lib, /vendor/lib]]] couldn't find "libdecodejme.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:984)
at java.lang.System.loadLibrary(System.java:1530)
at com.jme3.texture.plugins.AndroidNativeImageLoader.<clinit>(AndroidNativeImageLoader.java:23)
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:400)
at java.lang.Class.forName(Class.java:326)
at com.jme3.asset.AssetConfig.acquireClass(AssetConfig.java:62)
at com.jme3.asset.AssetConfig.loadText(AssetConfig.java:86)
at com.jme3.asset.DesktopAssetManager.loadConfigFile(DesktopAssetManager.java:96)
at com.jme3.asset.DesktopAssetManager.<init>(DesktopAssetManager.java:89)
at com.jme3.system.JmeSystemDelegate.newAssetManager(JmeSystemDelegate.java:125)
at com.jme3.system.JmeSystem.newAssetManager(JmeSystem.java:139)
at com.jme3.app.LegacyApplication.initAssetManager(LegacyApplication.java:216)
at com.jme3.app.LegacyApplication.initialize(LegacyApplication.java:593)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:197)
at com.jme3.app.AndroidHarness.initialize(AndroidHarness.java:477)
TLDR: Something is wrong with the natives again, I guess.
@riccardobl Do we need to do something more than just adding jme3-android
as dependency?
I've only found https://mvnrepository.com/artifact/org.jmonkeyengine/jme3-bullet-native-android but it shouldn't include the Image Loader.
Edit: Either this https://github.com/jMonkeyEngine/jmonkeyengine/tree/master/jme3-android-native should be a separate artifact or part of jme3-android as dependency (I strongly guess and suggest the latter), so I guess that's the problem already.
Certainly missing that in https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-android/build.gradle though.
Edit2:
Sorry for the misinformation
Actually there is a jme3-android-native
artifact, but I don't think it's what we want, is it?
Why would someone omit it? If someone wants to omit it, the AndroidNativeImageLoader
needs to be shifted to that artifact, so that it's not visible for the DesktopAssetManager