【发布时间】:2019-06-08 14:30:10
【问题描述】:
我有一个 Android 项目,它使用了一些相当大的原生库。 我在这个项目中有几种风格,其中一些不使用这些库,所以我想将它们从 APK 中排除。
我知道实现此目的的几种方法,但我想在build.gradle 文件中使用一些不错的代码来减少可能出现的错误并了解groovy。
我不得不提到有一个布尔值buildConfigField(在这个例子中称为DO_IT)。如果 DO_IT 为 false,则将排除 JNI 库。
这就是我现在的做法:
defaultConfig {
buildConfigField "boolean", "DO_IT", "true"
}
productFlavors {
flavor1 {
// for this flavor JNI libs will be included
}
flavor2 {
// for this flavor JNI libs will NOT be included
buildConfigField "boolean", "DO_IT", "false"
ndk {
abiFilters ''
}
}
}
备注:
1 - 考虑到我有很多具有大量属性的口味,我不想复制块
ndk {
abiFilters ''
}
但我无法设法将此块放入方法中。
2 - 完美的解决方案将仅排除基于DO_IT buildConfigField 的库在defaultConfig 中的风味块EG 之外的例程中。
【问题讨论】:
标签: android android-studio gradle groovy android-ndk