配置应用程序的特性
多渠道打包要在Flavors中配置相应的属性.
Name: Flavor的名字,如我们常用的渠道:xiaomi、baidu
Min Sdk Version: 向下兼容的最小SDK版本
Application Id: 应用程序的包名
Proguard File: 指定混淆文件路径,如果不指定会使用默认的.
Signing Config: 指定签名文件. 签名的文件在Signing中设置.
Target Sdk Version: 目标SDK版本
Test Instrumentation Runner: 指定Test Runner
Test Application Id: 测试应用的ID
Version Code: 应用程序的版本号,用于升级
Version Name: 应用程序的版本名称
Version Name Suffix:应用程序版本名称的后缀
新增一个Flavor:
新增一个Flavor,所有的参数都允许重新设置,如果不设置的都使用defaultConfig的配置.
// 产品特性
productFlavors {
xiaomi {} //渠道名name为xiaomi
baidu {
}
wandoujia {}
// 自动替换AndroidManifest.xml中的渠道号
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [CHANNEL_ID: name]
}
RC {
minSdkVersion 20
applicationId 'com.wirelessqa.basebuildsampleRC'
proguardFile '/Users/bixiaopeng/myandroid.jks'
signingConfig signingConfigs.MySigning
targetSdkVersion 22
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
versionCode 1
versionName '1.0.1'
versionNameSuffix 'RC'
}
}
针对不同的APP分发渠道,我们可以定义不同的productFlavors(产品特性).
也可以定义APP开发不同阶段的版本,比如:内测版本、灰度版本、正式版本.
也可以为不同的版本指定不同的ApplicationId(包名),这样在同一个设备上可以同时安装两个版本,方便测试.
有了上面的配置你在执行打包命令的时候就会打出不同渠道的包.