Java.lang.UnsatisfiedLinkError: couldn't find "libstlport_shared.so
Java.lang.UnsatisfiedLinkError: couldn't find "libstlport_shared.so
我对 SQL 密码还很陌生。我阅读了很多资料并将 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
在 android 工作室中我的 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"
}
}
将下行写入 dependencies {} 块。
compile 'com.commonsware.cwac:sqlcipher-for-android:3.3.1'
现在你同步你的项目然后你可以使用 SQL-Cipher 数据库轻松地进入你的应用程序。
我对 SQL 密码还很陌生。我阅读了很多资料并将 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
在 android 工作室中我的 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"
}
}
将下行写入 dependencies {} 块。
compile 'com.commonsware.cwac:sqlcipher-for-android:3.3.1'
现在你同步你的项目然后你可以使用 SQL-Cipher 数据库轻松地进入你的应用程序。