0 概述
写Android应用的人类每次发布App都需要面对数十个市场,而为了能够采集到市场的表现数据,就必须为每一个市场生成相应的apk包,也就是俗称的渠道包。
1 在AndroidManifest.xml中添加如下图:
在build.gradle中添加如下图:
2 AndroidManifest.xml 修改以下值:
//方式一:
// productFlavors{
// wandoujia{
// manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
// }
// xiaomi{
// manifestPlaceholders=[UMENG_CHANNEL_VALUE: "xiaomi"]
// }
//
// yingyongbao{
// manifestPlaceholders=[UMENG_CHANNEL_VALUE: "yingyongbao"]
// }
//
// }
//优化1:
// productFlavors{
// wandoujia{
// }
// xiaomi{
// }
// }
// productFlavors.all { flavor ->
// flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
// }
//优化2:这种方式打包后可以显示APK版本信息
productFlavors{
wandoujia{
}
xiaomi{
}
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}.apk")
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
3最后签名打包
效果图: