编程语言
首页 > 编程语言> > android-Java.lang.UnsatisfiedLinkError:找不到“ libstlport_shared.so

android-Java.lang.UnsatisfiedLinkError:找不到“ libstlport_shared.so

作者:互联网

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

我已经将下面的JAR文件放到app / src / libs中

> commons-codec.jar
>番石榴r09.jar
> sqlcipher.jar
> sqlcipher-javadoc

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

> icudt46l.zip

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

>在文件夹中:armeabi

> libdatabase_sqlcipher.so
> libsqlcipher_android.so
> libstlport_shared.so

>在文件夹中:armeabi-v7a

> libdatabase_sqlcipher.so
> libsqlcipher_android.so
> libstlport_shared.so

>在文件夹中: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"

解决方法:

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数据库使用到应用程序中.

标签:android-studio,android,sqlcipher-android
来源: https://codeday.me/bug/20191119/2039212.html