Я создаю .so файл для архитектуры armeabi. Я вижу общую библиотеку с именем unzipApk / lib / armeabi / libmylib.so, когда я разархивировал файл apk.
static {
try {
System.load("mylib");
} catch(UnsatisfiedLinkError e) {
e.printStackTrace();
}
}
abiFilters - это "armeabi" в файле Gradle.
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:
/ данные / приложение / Ио. myapp.app1" -WFPflqqwrVmlN4yqyOStvQ == / Библиотека / рука / libmylib.so
В разархивированном APK нет папки arm. abiFilters это armeabi. Почему система пытается загрузить файл из папки arm?