产品定制的配置

最后更新于:2022-04-01 02:25:58

# 产品定制的配置 每一个 flavor 都是通过闭包来配置的: ~~~ android { ... defaultConfig { minSdkVersion 8 versionCode 10 } productFlavors { flavor1 { packageName "com.example.flavor1" versionCode 20 } flavor2 { packageName "com.example.flavor2" minSdkVersion 14 } } } ~~~ 注意 *ProductFlavor* 类型的 **android.productFlavors.*** 对象与 **android.defaultConfig** 对象的类型是相同的。就是说着它们拥有的属性是一样的。 **defaultConfig** 为所有的 flavor 提供基本的配置,每一个 flavor 都可以重写这些配置的值。在前面的例子中,最终的配置结果将会是: - **flavor1** - **packageName**: com.example.flavor1 - **minSdkVersion**: 8 - **versionCode**: 20 - **flavor2** - **packageName**: com.example.flavor2 - **minSdkVersion**: 14 - **versionCode**: 10 通常情况下,*Build Type* 的配置会覆盖其它的配置。例如,*Build Type* 的 **packageNameSuffix** 会被追加到 *Product Flavor* 的 **packageName** 上面。 但有部分设置可以同时在 *Build Type* 和 *Product Flavor* 中设置。在这种情况下,按照个别为主的原则决定。 例如,**signingConfig** 允许通过设置 **android.buildTypes.release.signingConfig** 来为所有的 `release` 包共用相同的 *SigningConfig*。也可以通过设置 **android.productFlavors.*.signingConfig** 来为每一个 `release` 包指定它们自己的 *SigningConfig*。
';