配置应用程序的特性

多渠道打包要在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的配置.

  1. // 产品特性
  2. productFlavors {
  3. xiaomi {} //渠道名name为xiaomi
  4. baidu {
  5. }
  6. wandoujia {}
  7. // 自动替换AndroidManifest.xml中的渠道号
  8. productFlavors.all { flavor ->
  9. flavor.manifestPlaceholders = [CHANNEL_ID: name]
  10. }
  11. RC {
  12. minSdkVersion 20
  13. applicationId 'com.wirelessqa.basebuildsampleRC'
  14. proguardFile '/Users/bixiaopeng/myandroid.jks'
  15. signingConfig signingConfigs.MySigning
  16. targetSdkVersion 22
  17. testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
  18. versionCode 1
  19. versionName '1.0.1'
  20. versionNameSuffix 'RC'
  21. }
  22. }

针对不同的APP分发渠道,我们可以定义不同的productFlavors(产品特性).

也可以定义APP开发不同阶段的版本,比如:内测版本、灰度版本、正式版本.

也可以为不同的版本指定不同的ApplicationId(包名),这样在同一个设备上可以同时安装两个版本,方便测试.

有了上面的配置你在执行打包命令的时候就会打出不同渠道的包.