Java.lang.UnsatisfiedLinkError:无法找到" libstlport_shared.so

时间:2015-08-22 09:27:15

标签: android android-studio sqlcipher-android

我是SQL Cipher的新手。我读了很多东西,并在我的项目中实现了SQLCipher。

我已将JAR文件放在 app / src / libs

  • 公地codec.jar
  • 番石榴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
  4. 在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"
    

1 个答案:

答案 0 :(得分:3)

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

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

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

将以下行写入依赖关系{} 块。

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

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