组件化 Android Build Variant 生成机制
SQL
buildTypes **{**
** **release **{**
** **minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
zipAlignEnabled true
**}**
** **foreign.initWith(release)
foreign **{**
** **matchingFallbacks = ['release', 'debug']
**}**
**}**
定义了 buildTypes release/foreign此时在 我们可以看到 模块中 可以选择 Android Build Variant debug /foreign/release

但是我们可以看到 除了 release/foreign之外,还有前缀如gac_a88_8155,以及debug
前缀是怎么来的?
Android Build Variant = ProductFlavor + BuildType
productFlavors 产品风味
Julia
productFlavors {
gac_a88_8155 {
signingConfig signingConfigs.release8155new
manifestPlaceholders = ['APP_CHANNEL': "1"]
}
gac_a58_8155 {
signingConfig signingConfigs.release8155new
manifestPlaceholders = ['APP_CHANNEL': "2"]
}
略
}
如果我们修改 ProductFlavor 将
t60y 修改为 t60y111111 那么对应模块(注意一个build gradle 文件对应 一个模块)
的可选择的 Android Build Variant 将会改变
2.没有定义debug 为什么自动有?
因为release 和debug 是自动有的
当我们注释掉 release 的代码
SQL
buildTypes **{**
** **
**}**

可以看到仍然有 debug 和 release