我正在尝试为我的项目构建所有ABI,但只想将它们的一部分打包到我的应用程序中。例如,我想构建" x86"," x86_64"," armeabi-v7a"和" arm64-v8a"但只有包装" x86" (例如)。
在#34;指定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
答案 0 :(得分:2)
你在寻找什么,由分裂控制。
splits {
abi {
enable true
reset()
include 'armeabi-v7a'
universalApk false //don't generate an additional APK that contains all the ABIs
}
}