我构建了一个基于VLC的播放器,当我想为Android6.0构建一个版本时,玩家不能在Android6.0上启动device.Here是日志:无法加载vlcjni library:java.lang.UnsatisfiedLinkError:dlopen失败:/data/app/lib/arm/libvlcjni.so:有文本重定位。和我尝试过很多方法来解决它,但我还没有解决它。我希望任何人都能告诉我这个问题。
发布于 2016-03-03 11:02:25
下面是类似的问题和答案:libavcodec.so: has text relocations
今天,在Nexus 6(摩托罗拉)上用Android6.0测试我的应用程序时,我收到了同样的错误信息。我通过检查清单文件中的targetSDKVersion来解决我的问题。使用"22“而不是"23”作为targetSDKVersion解决它的方法。(见下文)
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="22" />
我还检查了build.gradle文件的编译版本和targetSDKversion:compileSdkVersion 22 buildToolsVersion '22.0.1'
defaultConfig { minSdkVersion 15 targetSdkVersion 22 }
希望这能帮到你。然而,这只是一个短期的解决办法,就目前而言,我希望我们能从metaio那里得到一些反馈。 你好,克里斯汀
发布于 2017-03-27 14:30:27
我只需在我的Android库中创建一个libs文件夹,然后将库文件从jniLibs文件夹移到libs文件夹。我相信这可能与新版本的Gradle和构建工具有关。这样,您就不必降低构建工具/Gradle的级别。
更新:
我能够用下面的build.gradle脚本为vlc构建。我需要以下更新版本。这允许我使用SDK版本24、build tools 24和gradle version 2.2.0进行构建。看看这个对你有用吗。
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'org.ajoberstar:gradle-git:1.3.2'
}
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 24
buildToolsVersion '25.0.0'
defaultConfig {
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
//noinspection GradleCompatible
compile "com.android.support:support-v4:25.2.0"
compile 'com.android.support:support-annotations:25.2.0'
}
https://stackoverflow.com/questions/35450347
复制相似问题