针对build.gradle中的productFlavors属性进行处理。
productFlavors {
quality {
dimension "version"
buildConfigField('String', 'TYPE', '"Phone"')
buildConfigField('boolean', 'NEED_PUSH', 'true')
manifestPlaceholders = [
app_icon : "@mipmap/icon",
app_name : "@string/app_name"
]
}
tb {
dimension "version"
buildConfigField('String', 'TYPE', '"Phone"')
buildConfigField('boolean', 'NEED_PUSH', 'true')
manifestPlaceholders = [
app_icon : "@mipmap/icon_tb",
app_name : "@string/app_name_tb"
]
}
dabieshan {
dimension "version"
buildConfigField('String', 'TYPE', '"Phone"')
buildConfigField('boolean', 'NEED_PUSH', 'true')
manifestPlaceholders = [
app_icon : "@mipmap/icon",
app_name : "@string/app_name"
]
}
xulong {
dimension "version"
buildConfigField('String', 'TYPE', '"Phone"')
buildConfigField('boolean', 'NEED_PUSH', 'true')
manifestPlaceholders = [
app_icon : "@mipmap/icon",
app_name : "@string/app_name"
]
}
}
可以看到,分完渠道后,我们可以针对不同的渠道构建不同的icon或者APP名称等,当然这只是在各个渠道区别较少的时候,在各渠道变化较大时就需要分包方式处理了。