Android emulator无法加载NDK。因此库未满足DlinkError:dlopen失败,已重新定位文本

Android emulator无法加载NDK。因此库未满足DlinkError:dlopen失败,已重新定位文本,android,android-ndk,android-emulator,android-library,unsatisfiedlinkerror,Android,Android Ndk,Android Emulator,Android Library,Unsatisfiedlinkerror,我有一个应用程序需要一个.so库(ndk)。它是为armeabi-v7a编译的。我在Android Studio 1.5.1中使用armeabi-v7a编译该项目。当我在设备上运行项目时(安卓4.4.2和安卓6.0)工作正常,因此.so库成功加载 问题:我真的需要在一个模拟器中测试应用程序,因此我为Android 6.0创建了一个模拟器,使用ARM(armeaabi-v7a),但不幸的是.so没有成功加载,我得到以下错误:java.lang.UnsatifiedLinkError 03-30 1

我有一个应用程序需要一个.so库(ndk)。它是为armeabi-v7a编译的。我在Android Studio 1.5.1中使用armeabi-v7a编译该项目。当我在设备上运行项目时(安卓4.4.2和安卓6.0)工作正常,因此.so库成功加载

问题:我真的需要在一个模拟器中测试应用程序,因此我为Android 6.0创建了一个模拟器,使用ARM(armeaabi-v7a),但不幸的是.so没有成功加载,我得到以下错误:java.lang.UnsatifiedLinkError

03-30 14:52:12.654 16379-16379/com.mondelez.trylive I/tiInterface: Trying to load libtiAndroidAR2.so
03-30 14:52:12.867 16379-16379/com.mondelez.trylive E/tiInterface: WARNING: Could not load libtiAndroidAR2.so: java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.mondelez.trylive-2/lib/arm/libtiAndroidAR2.so: has text relocations
03-30 14:52:12.868 16379-16379/com.mondelez.trylive I/ti.dfusionmobile.tiInterface: Checking interface integrity
03-30 14:52:12.906 16379-16379/com.mondelez.trylive E/art: No implementation found for boolean ti.dfusionmobile.tiInterface.JNIglobalInitialize(int) (tried Java_ti_dfusionmobile_tiInterface_JNIglobalInitialize and Java_ti_dfusionmobile_tiInterface_JNIglobalInitialize__I)
我也关注这些帖子:

但是没有帮助

看起来lib是不兼容的,但正如我所说:它是用armeabi-v7a构建的。有人有什么建议或提示吗

这是我的身材。格雷德尔:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.my.app"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.android.support:support-v4:23.2.0'
}

.so文件位于:project/app/src/main/jniLibs/armeabi-v7a/myLib.so。

是否确实尝试了中提到的步骤?将targetSdkVersion更改为22应该可以让您暂时解决这个问题。那篇文章中的其他答案包含一些关于文本重新定位的背景信息,这些信息将有助于解决代码中的潜在问题。@bullsy嗯,我想为Android 6而不是5构建应用程序。我将尝试这个解决方案来解决它。如果不修复文本重新定位(您应该计划这样做),您就无法将API级别23作为目标。这只是一种解决问题的方法,直到你有机会这样做。但是,targetSdkVersion根本不影响应用程序的编译方式。解释一下这篇文章:,它影响到Android操作系统如何处理你的应用程序。我想使用请求权限功能,它是从Android 6.0开始实现的。我真的很想知道如何修复6.0应用程序的文本重定位。这就是我提问的原因。用较低版本的Android编译应用程序不是我的解决方案。你说你遵循了上面链接的帖子,但不清楚你是否尝试过任何步骤。您是否尝试在库中定位文本重新定位?他们在哪里?什么不起作用?