原文转载于http://www.cnblogs.com/ct2011/p/4152323.html
作者Github地址是https://github.com/GavinCT/AndroidMultiChannelBuildTool
作者主要是根据美团网技术人员的思路写了一份快速打渠道包的代码,主要是做分享,因为本人目前也遇到多渠道打包,耗时耗力的工作。所以好东西要分享!
再次感谢美团技术,包括贡献资源的作者。
以下内容摘抄于作者Github
使用本工具,Android程序员仅需将ChannelUtil.java放入到工程里使用,以后打包的事情就不用自己动手了。
安装个Python环境,双击一下MultiChannelBuildTool.py,谁都可以打包了!
Python2 与 Python3 都能正常使用
info目录下的channel用来存放渠道,多个渠道之间用换行隔开。
注意:
fork后通过Github clone,这个channel文件在Windows端是正常的,以换行隔开(\r\n
)。
直接点击右侧的download下载zip,可能你在windows端看到的就不是以换行隔开的(\n
)。
这是Github造成的。但不会影响程序最后的运行效果。
你可以粘贴下面的渠道到channel.txt中保持它在windows端的可读性。
samsungapps
hiapk
anzhi
360cn
xiaomi
myapp
91com
gfan
appchina
nduoa
3gcn
mumayi
10086com
wostore
189store
lenovomm
hicloud
meizu
baidu
googleplay
wandou
也可以自己来写入自己需要的市场,并以换行隔开
ChannelUtil.java 用来解析渠道,直接拷贝到Android工程中使用即可。
ChannelUtil中的getChannel方法可以方便的获取渠道。
这部分问题是由美团大神丁志虎在微博上答复的,摘录如下:
我来解释下第一句话,因为之前我们做渠道统计的时候,比如友盟
<!-- 友盟统计 -->
<meta-data
android:name="UMENG_APPKEY"
android:value="4f069691121221" />
<meta-data
android:name="UMENG_CHANNEL"
android:value="uc" />
我们需要改变UMENG_CHANNEL的value值,现在这种打包方式本身是没有改变的。我们需要使用友盟的统计SDK在代码里进行改变,友盟是有此方法的。
http://bbs.umeng.com/thread-5335-1-8.html
我再截个图
所以, 如果你们公司内有自己的统计,那么就需要提供友盟这种代码内设置的方式了。
第二句话,我个人理解恰恰说明了此办法解决打包几百个apk耗时那么久的原因----apk签名。 本身没有签名,所以很快。
资源下载地址: http://download.csdn.net/detail/u013651247/8329409