[android]Java.lang.UnsatisfiedLinkError ︰ 找不到"libstlport_shared.so

发布时间: 2016/6/27 18:04:01
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

很新的 SQL 密码 !我读很多东西,我的项目中实现 SQLCipher。

有下面的 JAR 文件放了app/src/库

  • 共同性 codec.jar
  • 番石榴 r09.jar
  • sqlcipher.jar
  • sqlcipher-javadoc

有文件下投入了app/src/主/资产

  • icudt46l.zip

有文件下投入了app/src/主/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

下文中我 gradle 文件 android studio。

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'
}

在此之后,我跑我 application 和它获取崩溃每 time 与以下错误。

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"

解决方法 1:

4 到 5 个小时后,我从我的一个朋友得到解决方案。

下面的代码写入build.gradle文件在android {}块之前。

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

下面的行写入依赖项 {}块。

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

现在您同步您的项目,然后您可以使用SQL 密码数据库到你 application eaisly。

官方微信
官方QQ群
31647020