我使用了Wikitude SDK v4,当我启动Activity时出现此错误。我的IDE是Android Studio 1.5和targetSDK 22
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/data/xxxx/libarchitect.so" not found.
我的 app / libs 文件夹中有 wikitudesdk.jar ,这是我的gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "xxxx"
minSdkVersion 11
targetSdkVersion 23
versionCode 2
versionName "2"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/maven/commons-io/commons-io/pom.xml'
exclude 'META-INF/maven/commons-io/commons-io/pom.properties'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:gridlayout-v7:23.1.1'
...
}
最佳制度
答案 0 :(得分:1)
您可以尝试System.load("data/data/yourpackagename/lib/soname.so")
(使用.so
文件的真实路径。)
答案 1 :(得分:0)
在build.gradle文件中尝试此操作
android {
packagingOptions {
exclude "lib/arm64-v8a/libarchitect.so"
}
}
答案 2 :(得分:0)
您实际使用的是targetSdkVersion 23.尝试使用targetSdkVersion 22。 它可能是.so for android 6.0中文本重定位的问题
https://code.google.com/p/android-developer-preview/issues/detail?id=3028
答案 3 :(得分:-2)
使用wikitude库时出现同样的错误。我通过将项目级build.gradle类路径还原为
来解决它'com.android.tools.build:gradle:1.0.0'
来自
'com.android.tools.build:gradle:1.5.0'
还需要更改项目级别设置以使用默认gradle包装器(设置 - > 构建,执行,部署 - > Gradle )