它很有可能与您的问题有关。
当您在Android上安装APK时,系统会在APK的文件夹中查找本地库目录(armeabi、armeabi-v7a、arm64-v8a、x86、x86_64、mips64、mips)lib
,顺序由Build.SUPPORTED_ABIS
.
如果您的应用碰巧有一个arm64-v8a
包含其他库的目录,则不会安装 32 位 metaio 库,因为这些库没有混合。这意味着您必须为每个架构提供全套库。
因此,要解决您的问题,您可以从构建中删除 64 位库,或将 abiFilters 设置为仅打包 32 位架构:
android {
....
defaultConfig {
....
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
}
如果您收到与使用已弃用的 NDK 支持相关的错误,请添加到项目根目录下android.useDeprecatedNdk=true
名为gradle.properties的文件中。不要对使用已弃用的集成感到难过,因为使用abiFilters仍然是 atm 从 APK 中过滤掉 64 位库的最干净的方式。