on 2021 Aug 19 7:32 AM
We updated our so files and jar file, according to the description in "UltraliteJ 64bit" forum topic (https://sqlanywhere-forum.sap.com/questions/33960/ultralitej-64bit) The build is ok, the apk includes the files, but the app crashes immediately after install with the following error message:
ACRA caught a UnsatisfiedLinkError for java.lang.UnsatisfiedLinkError: No implementation found for void com.sap.ultralitejni17.implementation.JniDbMgr.setLibraryLocation(java.lang.String) (tried Java_com_sap_ultralitejni17_implementation_JniDbMgr_setLibraryLocation and Java_com_sap_ultralitejni17_implementation_JniDbMgr_setLibraryLocation__Ljava_lang_String_2) at com.sap.ultralitejni17.implementation.JniDbMgr.setLibraryLocation(Native Method) at com.sap.ultralitejni17.implementation.JniDbMgr.Connect(Unknown Source:76) at com.sap.ultralitejni17.DatabaseManager.connect(Unknown Source:0)
Got the same error message on
- Android 9, 10 and 11 as well
- With different Ultralite 17 builds (5855, 6230, 6315)
With the previous versions, without support for Android arm64 and x86_64, the app did not and does not crash.
How can we solve this runtime error?
Thank You in advance!
Request clarification before answering.
The native libraries are, by default, located in the projects app/src/main/jniLibs with the directories
arm64-v8a armeabi-v7a x86 x86_64
This was the cause for this issue. There may be configuration changes that can be made to redirect where the shared objects can be located in the Android Studio project. For example, the app/build.gradle android{...} may use the following
sourceSets { main { jni.srcDirs = ['src/main/jni', 'src/main/jniLibs/'] } }
to define the location of the libraries.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
54 | |
6 | |
6 | |
5 | |
5 | |
5 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.