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
В папке: 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
Ниже моего файла 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 в своем приложении.