Java.lang.UnsatisfiedLinkError: не удалось найти "libstlport_shared.so

Я очень плохо знаком с 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

Ниже моего файла 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 ответ

Решение

Через 4-5 часов я получил решение от одного из моих друзей.

Запишите приведенный ниже код в файл build.gradle перед блоком android{}.

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

Запишите строку ниже в блок зависимостей {}.

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

Теперь вы синхронизируете свой проект, после чего вы можете легко использовать базу данных SQL-Cipher в своем приложении.

Другие вопросы по тегам