Android多渠道打包汇总(六)—— 美团的多渠道打包方式

1. 原理

大家都知道,apk文件其实可以看做是一个压缩包,我们把一个Android应用包当作zip文件包进行解压,然后发现在签名生成的目录下(META-INF)添加一个空文件不需要重新签名。利用这个机制,该文件的文件名就是渠道名。这种方式不需要重新签名等步骤,非常高效。

2. 打包步骤

  • 先从github上下载打包需要的工具,里面也有详细的使用方法介绍
    https://github.com/GavinCT/AndroidMultiChannelBuildTool

  • 将要打包的apk放到PythonTool中,工程目录如下


    image.png
  • 在PythonTool/info/channel.txt中写入需要的渠道,一个渠道占一行

  • 双击执行PythonTool/MultiChannelBuildTool.py文件(需要有Python环境),或者使用命令行运行Python文件,就会生成渠道包,output目录下就是生成的各个渠道包

image.png

image.png
  • 获取渠道信息:将JavaUtil文件下的ChannelUtil.java拷贝到工程,调用ChannelUtil.getChannel即可获取渠道

3. 优缺点

优点:
这种打包方式速度非常快,900多个渠道不到一分钟就能打完

缺点:
1.google如果哪天更改打包规则,使得在META-INF中建立空文件还需要重新打包,这种方式将不可用
2.一些不法的渠道商很容易通过工具修改渠道,如果一个渠道商,通过网络劫持和篡改渠道的组合方式来获取暴利,对于程序开发者来说可能会存在着巨大的经济损失

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android市场的渠道分散已不是什么新鲜事,但如何高效打包仍是令许多开发者头疼的问题。本篇文章着重介绍了目前最新...
    _曾胖子阅读 5,948评论 1 10
  • [TOC] 打包流程 前言 我们每一个产品中一般都是由一位同事来负责打包工作的,其他同学一般是不需要关心具体的流程...
    钟金宝阅读 5,532评论 0 5
  • 目录一、Python打包及优化(美团多渠道打包)二、Gradle打包三、其他打包方案:修改Zip文件的commen...
    守望君阅读 11,039评论 4 17
  • 最近在项目中遇到需要实现 Apk 多渠道、定制化打包, Google 、百度查找了一些资料,成功实现了上述功能,在...
    看一季残花落幕阅读 7,323评论 1 8
  • 如何治疗多囊卵巢综合征?这道题拖了太久。妹子们看过来吧,几句话很难讲清楚,先前的评论和私信就不一一回复咯。 一、关...
    女性健康咨询_7945阅读 4,136评论 0 1