.so文件的

时间:2019-01-09 11:21:09

标签: android android-studio gradle shared-libraries

我为armeabi体系结构生成了一个.so文件。当我解压缩apk文件时,我看到了名为unzipApk / lib / armeabi / libmylib.so的共享库。

static {
    try {
        System.load("mylib");
    } catch(UnsatisfiedLinkError e) {
        e.printStackTrace();
    }
}

abiFilters在gradle文件中是“ armeabi”。

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "io.myapp.app1"
        minSdkVersion 19
        targetSdkVersion 28
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
        ndk {
            moduleName "mylib"
            stl "gnustl_shared"
            ldLibs "log -lz -lGLESv2 -lGLESv1_CM -ljnigraphics -lpthread"
            abiFilters "armeabi"
            jobs 8
        }
    }
    .....

加载库时,出现以下错误:

  

java.lang.UnsatisfiedLinkError:dlopen失败:

     

/ data / app / io。 myapp.app1“ -WFPflqqwrVmlN4yqyOStvQ == / lib / arm / libmylib.so

解压缩的APK中没有arm文件夹。 abiFilters是armeabi。为什么系统尝试从arm文件夹加载?

0 个答案:

没有答案