アプリで 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 はうまく機能します。しかし、私はこのディレクトリが必要です...誰か助けてくれますか?