我在我的应用中使用sqlcipher和一些本机代码。一切都适用于几乎所有设备。问题仅存在于Android 6.0.1的Nexus 5X上。 我收到错误:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/sqlite.sql3312test-1/base.apk"],nativeLibraryDirectories=[/data/app/sqlite.sql3312test-1/lib/arm64, /data/app/sqlite.sql3312test-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libstlport_shared.so"
at java.lang.Runtime.loadLibrary(Runtime.java:367)
我使用gradle,我有依赖:
dependencies {
//..
compile 'net.zetetic:android-database-sqlcipher:3.3.1-2@aar'
}
我的MainActivity中的代码:
protected void onCreate(Bundle savedInstanceState) {
//...
SQLiteDatabase.loadLibs(this);
}
在local.properties中,我指定了我的ndk的路径:
ndk.dir=/Users/me/Desktop/ndk/android-ndk-r10e
我的gradle.properties:
android.useDeprecatedNdk=true
如果我删除jni目录sqlcipher工作正常。但我需要这个目录......任何人都可以帮助我吗?