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 产品风味
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 将会改变
没有定义debug 为什么自动有?
因为release 和debug 是自动有的
当我们注释掉 release 的代码
buildTypes {
}
可以看到仍然有 debug 和 release