1 .遍历AndroidManifest文件 进行字符串替换 AndroidManifest.xml
builde.gradle
android {
productFlavors {
"xiaomi"{}
"360market"{}
"baidu"{}
"wandoujia"{}
}
applicationVariants.all { variant ->
variant.processManifest.doLast {
def manifestFilePath = "{variant.dirName}/AndroidManifest.xml"
def updatedContent = new File(manifestFilePath).getText('UTF-8').
replaceAll("CHANNEL_VALUE", "
{buildDir}/intermediates/manifests/${variant.dirName}/AndroidManifest.xml")
variant.processResources.manifestFile = manifestFile
}
}
}
2 . 利用productFlavors属性 AndroidManifest.xml
builde.gradle
android {
productFlavors {
"xiaomi"{
manifestPlaceholders = [channelName: "xiaomi"]
}
"360market"{
manifestPlaceholders = [channelName: "360market"]
}
"baidu"{
manifestPlaceholders = [channelName: "baidu"]
}
"wandoujia"{
manifestPlaceholders = [channelName: "wandoujia"]
}
}
}
或者可以批量修改
android {
productFlavors {
"xiaomi"{}
"360market"{}
"baidu"{}
"wandoujia"{}
}
productFlavors.all { flavor -> flavor.manifestPlaceholders = [channelName: name] } }