我为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文件夹加载?