我正在尝试为我的项目构建所有ABI,但只希望将其中的一部分打包到我的应用程序中。例如,我想构建“x86”,“x86_64”,“armeabi-v7a”和“arm64-v8a”,但仅打包“x86”(例如)。
阅读“指定ABI”部分下的此文档(https://developer.android.com/studio/projects/gradle-external-native-builds.html#jniLibs),似乎很有可能使用它们提供的摘录作为示例。但是,这似乎不适用于我。
我的代码段如下。
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a'
}
externalNativeBuild {
cmake {
abiFilters 'armeabi-v7a', 'x86'
}
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}
在上面的代码段中,根据我对文档的理解,它应该同时构建armeabi-v7a和x86,但只能在我的APK中打包armeabi-v7a。虽然这不起作用。
我正在使用Android插件3.1.0和NDK 16.1.4479499
最佳答案
您要查找的内容由拆分控制。
splits {
abi {
enable true
reset()
include 'armeabi-v7a'
universalApk false //don't generate an additional APK that contains all the ABIs
}
}