0

我在我的应用程序中使用 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 效果很好。但我需要这个目录……谁能帮帮我?

4

0 回答 0