我想在 gradle.properties 文件中添加 ndk.abiFilters 属性。现在我在 build.gradle 中有这个属性。 这是我的 build.gradle 的一部分
buildTypes {
debug {
ndk {
abiFilters "x86", "armeabi-v7a", "armeabi"
//abiFilters ABI_FILTERS
}
}
}
这是我的 gradle.properties 文件的一部分
ABI_FILTERS = "x86", "armeabi-v7a", "armeabi"
问题是 gradle.properties 中的字符串未正确转换为与 abiFilters 一起使用。我尝试了很多变体但没有运气。正确执行此操作的正确方法是什么?谢谢你的帮助。
在 gradle.properties 中你可以有例如:
ABI_FILTERS=armeabi-v7a;x86 //delimiter can be anything (change below)
然后在 build.gradle 中有(例如在 debug buildType 部分):
ndk {
abiFilters = []
abiFilters.addAll(ABI_FILTERS.split(';').collect{it as String})
}
现在每个开发人员都可以为他当前的测试设备独立选择abi(gradle.properties位于.gitignore中)。
感谢 Igor Ganapolsky 的开始提示。
以下适用于 Gradle 2.3:
abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a'
gradle.properties 文件
ABI_FILTERS = ["armeabi", "x86"]
build.gradle 文件
ndk {
abiFilters = []
abiFilters.addAll(ABI_FILTERS)
}
使用这个:
flavorDimensions "abi"
productFlavors {
arm7 {
dimension "abi"
ndk.abiFilters 'armeabi-v7a'
}
x86 {
dimension "abi"
ndk.abiFilters 'x86'
}
}
您可以在 NDK 的 Google 示例中查看此设置的示例: https://github.com/android/ndk-samples/blob/8132651aba8db36b14e0d0461c7cb46d3778f99c/other-builds/ndkbuild/hello-neon/app/build.gradle
对于颤振也可以这样做。
添加:
android{
buildTypes{
debug {
ndk {
abiFilters 'arm64-v8a'
}
}
}
}
到 android pp uild.gradle。这可以从调试版本中删除 x86 libflutter.so 库并缩短安装时间。适用于 gradle 7.2
Проверьте это.
ndk {
abiFilters.addAll(setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64"))
}