我一直在使用gradle为Android应用程序为不同公司创建不同的构建变体。
例如,我有构建风味:
然后我有构建类型:
所以这将创建6个构建变体:
所以问题是: 实际上,我不需要公司2的开发构建类型,我只需要公司1。
有没有办法可以指定只有公司1有开发构建类型?
我的项目中有很多公司,有些构建类型对这些公司没有意义,而且会让想要构建应用程序的人感到困惑。
答案 0 :(得分:8)
要回答我自己的问题,我在Gradle Plugin User Guide
上找到了相关文档过滤变体
添加尺寸和风味时,最终可能会出现无意义的变体。例如,您可以定义使用Web API的风格和使用硬编码假数据的风格,以加快测试速度。第二种风格仅适用于开发,但不适用于发布版本。您可以使用variantFilter闭包删除此变体,如下所示:
android {
productFlavors {
realData
fakeData
}
variantFilter { variant ->
def names = variant.flavors*.name
if (names.contains("fakeData") && variant.buildType.name == "release") {
variant.ignore = true
}
}
}
使用上面的配置,您的项目将只有三个变体:
realDataDebug
realDataRelease
fakeDataDebug
答案 1 :(得分:-1)
您无法停止Android插件创建所有构建的矩阵,但如果构建无效,则可能导致构建失败。例如,如果您不希望Flavor2 Debug构建工作,您可以像这样停止它们:
conn:execute('another parameter',[[ 'MySQLSTATEMENT' ]]).