Closed mnagamani closed 7 years ago
Hi @mnagamani
SQLCipher for Android only supports armeabi
, armeabi-v7a
, and x86
platforms. If you are using other 3rd party libraries and wish to use SQLCipher for Android, you will need to remove any other arm64
or arm64-v8a
support included from your other 3rd party libraries.
Thank you for response @developernotes .
Just to report that sometimes UnsatisfiedLinkError
happens on a random basis. I occasionally get such exceptions during debugging with Instant Run enabled. It's easily solved by the usual "Stop, Clear, Uninstall and/or Clean & Rebuild" ritual :D
Hi @sevar83
What version of SQLCipher for Android are you using? Is it a public release, or a build from source? What is the stack trace provided surrounding your link error at runtime?
Hi @developernotes i am facing same issue that occurred this error, java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.azova-2/base.apk"],nativeLibraryDirectories=[/data/app/com.azova-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libstlport_shared.so"
It was only occurred while i disabled instant run. if it enable then getting different error,
@developernotes I don't use SQLCipher but a custom build of Spatialite based on your JNI wrappers without any crypto functions. Btw, I've seen you are going to release N support without the ICU. Will it be one version of SQLCipher that supports all api levels or there will be a separate version with N support? @krunal131987 Yes, with Instant Run it's a UnsatisfiedLinkError but with a different cause but don't remember exactly.
Hi @krunal131987
Please take a look at this post, SQLCipher for Android does not support 64 bit native libraries currently.
Hi @sevar83
The new branch will support all current API's including N.
Great, but will we still need to bundle the ICU.dat inside? I would love to ditch this fat mofo out!
@sevar83 the ICU dependency has been removed from the android-n-preview
branch.
Hi @developernotes, still having same issue. Following are the folders that I can see in application/libs folder: armebi, armebi-v7a, armebi-v8a, mips, mips64, x86, x86_64. I checked with all combination and finally kept only three folder armebi, armebi-v7a & x86. But still it showing exact same previous
_java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.testsqlcipher-2/base.apk"],nativeLibraryDirectories=[/data/app/com.testsqlcipher-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libstlportshared.so"
Any suggestion here!!
Hi @developernotes @sevar83 I was create new project to found which third party lib is conflict with sqlcipher and i found that third party libs, it is "skylink_sdk:0.9.5-RELEASE"
Any suggestion to fix out this conflict!!!
How did you decide that there is a conflict and skylink_sdk:0.9.5-RELEASE is the cause? Do you have libstlport_shared.so in your armebi, armebi-v7a & x86 folders?
Hi @krunal131987
As @sevar83 mentioned, we will need additional information regarding the conflict. Does Skylink depend on SQLCipher for Android, or are they just shipping 64 bit native libraries?
@sevar83 because if we just use SQlCipher then it work perfectly fine & vise versa. Yes, I try with keeping libstlport_shared.so in these three folder.
@developernotes they also have release for these three armebi, armebi-v7a & x86 architecture only, so I checked by delete all other architecture folder. But no luck. Let me know please if you need any debug/more information.
Hi @krunal131987
If you are receiving the UnsatisfiedLinkError with a 64 bit path, it would appear that you are somehow still including something that contains a 64 native library. You may find it beneficial to use apktool to dissect your APK to see what is being included.
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xxx.yyy-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx.yyy-1/lib/arm64, /data/app/com.xxx.yyy-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libstlport_shared.so"
i got the latest binaries from : https://github.com/sqlcipher/android-database-sqlcipher/tree/master/external/android-libs and added the files in my project. But still i face this crash. Is there anything else i need to add. Thanks in advance for the help.