【问题标题】:Java.lang.UnsatisfiedLinkError: couldn't find "libstlport_shared.soJava.lang.UnsatisfiedLinkError:找不到“libstlport_shared.so
【发布时间】:2016-11-01 21:49:06
【问题描述】:

我对 SQL 密码很陌生。我读了很多东西,并在我的项目中实现了 SQLCipher。

我已将以下 JAR 文件放入 app/src/libs

  • commons-codec.jar
  • guava-r09.jar
  • sqlcipher.jar
  • sqlcipher-javadoc

我已将以下文件放入 app/src/main/assets

  • icudt46l.zip

我已将以下文件放入 app/src/main/jniLibs

  1. 在文件夹中: armeabi

    • libdatabase_sqlcipher.so
    • libsqlcipher_android.so
    • libstlport_shared.so
  2. 在文件夹中: armeabi-v7a

    • libdatabase_sqlcipher.so
    • libsqlcipher_android.so
    • libstlport_shared.so
  3. 在文件夹中: x86

    • libdatabase_sqlcipher.so
    • libsqlcipher_android.so
    • libstlport_shared.so

在我在 android studio 中的 gradle 文件下方。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "abc.com.sqlcipher"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
       versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.1'
}

在此之后,我运行我的应用程序,每次都会崩溃并出现以下错误。

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/abc.com.sqlcipher-1/base.apk"],nativeLibraryDirectories=[/data/app/abc.com.sqlcipher-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "liblibstlport_shared.so"

【问题讨论】:

    标签: android android-studio sqlcipher-android


    【解决方案1】:

    4 到 5 小时后,我从一位朋友那里得到了解决方案。

    android{} 块之前将以下代码写入 build.gradle 文件。

    repositories {
        maven {
            url "https://s3.amazonaws.com/repo.commonsware.com"
        }
    }
    

    将下面的行写入 dependencies {} 块。

    compile 'com.commonsware.cwac:sqlcipher-for-android:3.3.1'
    

    现在您同步您的项目,然后您可以轻松地将 SQL-Cipher 数据库用于您的应用程序。

    【讨论】:

    • 仍然出现错误,我正在使用这个库进行 sqlcipher compile 'net.zetetic:android-database-sqlcipher:3.4.0@aar'
    • 您好,您能告诉我我们需要使用 sqlcipher.jar 吗?我们需要删除它并导入所有类的 commonsware 吗?
    • @NikunjPatel 我对此一无所知。但你可以在这里提问discuss.zetetic.net
    • 不,但是你已经实现了,所以我想要idea..so逻辑上我认为需要删除的文件,该jar也需要删除,然后需要检查Commonsware。
    • 此解决方案不正确。我正在使用: compile 'net.zetetic:android-database-sqlcipher:3.5.4@aar' 但仍然出现该错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    相关资源
    最近更新 更多