1、app模块的build.gradle.kts文件,android块中通过"flavorDimensions"设置变种纬度,可设置多个纬度。
2、"productFlavors"块中设置对应纬度的变种,如遇"buildConfigField"已禁用自定义常量需要设置"android.buildFeatures.buildConfig = true "
eg:
android.buildFeatures.buildConfig = true
// 指定变种纬度(可定义多个)
flavorDimensions += "version"
productFlavors {
// 定义两个产品变种
create("demo") {
//dimension指定属于哪个纬度
dimension = "version"
//versionNameSuffix设置编译报名后缀
versionNameSuffix = "-demo"
//自定义常量
buildConfigField("String", "NAME_VER", "\"demo\"")
}
create("full") {
dimension = "version"
versionNameSuffix = "-full"
buildConfigField("String", "NAME_VER", "\"full\"")
}
}
3、通过"build -> select Build Variant"选择要编译哪个渠道
4、代码中通过"BuildConfig"类取对应参数(需要先编译才能取)
findViewById<TextView>(R.id.de_tv).setText(BuildConfig.NAME_VER)
现在即可通过获取各个维度不同的配置对app进行定制化功能。