Я собираю разделенные apk для четырех архитектур x86, x86_64, armeabi-v7a и arm64-v8a.Приложение работает нормально и прекрасно загружает нативные библиотеки на большинстве устройств.но на некоторых устройствах возникает ошибка, что не удается найти папку mylibrary.so .in armv8 или в папке arm.Вот мой код для генерации сплит apk и генерирует Unsatisfied Link Error
splits {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86, armeabi-v7a, and mips.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
include "x86", "x86_64", "armeabi-v7a", "arm64-v8a"
// Specifies that we want to also generate a universal APK that includes all ABIs.
universalApk false
}
}
def abiCodes = ['x86':0, 'x86_64':1, 'armeabi-v7a':2, 'arm64-v8a':3]
android.applicationVariants.all { variant ->
// Assigns a different version code for each output APK.
variant.outputs.each {
output ->
def abiName = output.getFilter(OutputFile.ABI)
output.versionCodeOverride = abiCodes.get(abiName, 0) + variant.versionCode
}
}
, когда я анализирую apk, я успешно получаю необходимые нативные libs в apk arm64-v8a в папке libs и в папке libs всех других apk.