渠道包的目的:
用来统计,比如是友盟统计,它可以统计用户从哪个平台下载了你们的app,从而更好的掌握用户的操作习惯。
所以,如果app没有统计功能的需求,你只需要打一个同样的包,直接发布到各个平台即可,根本不用关心什么渠道。
原理:
Android Gradle Plugin
Gradle Plugin本身提供了多渠道的打包策略:
首先,在AndroidManifest.xml中添加渠道信息占位符:
然后,通过Gradle Plugin提供的productFlavors标签,添加渠道信息:
productFlavors{ "YingYongBao"{
manifestPlaceholders = [InstallChannel : "YingYongBao"]
} "360"{
manifestPlaceholders = [InstallChannel : "360"]
}
}
这样,Gradle编译生成多渠道包时,会用不同的渠道信息替换AndroidManifest.xml中的占位符。