Gradle多渠道打包
我们公司应用后台开发使用Umeng的数据统计(没办法国内Umeng做的最好),最近应用开始在国内各个市场上线,不得不吐槽国内Android市场太多,而且还有坑,我们应用最先是在Google Play上线,每家应用市场为了充量会自己从Google Play上抓取应用,导致我们上传应用前还要先再一次的签名认领应用。废话说的太多了。因为需要统计每个平台的数据, 友盟渠道区分是通过在AndroidManifest.xml的
<meta-data android:value="UMENG_CHANNEL_VALUE" android:name="UMENG_CHANNEL"/>
我不得不手动修改需要的平台,这种重复的工作不能忍。查阅资料发现gradle的配置文件有Product flavors选项,可以生成不同的APK包,有不同的包名,或者不同的资源。那么现在打包的工作就变得简单了。
productFlavors {
sspai {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
gfan {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
appchina {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
appchina {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
m3g {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
googleplay {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
yingyongbao {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
m360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
8