ANDROID多渠道快速打包实践

参考资料:
美团Android自动化之旅—生成渠道包
Android批量打包提速
AndroidMultiChannelBuildTool

背景
随着发版需要,每次发版所需渠道包越来越多(现在差不多有一百个左右了),正常gradle打包由于耗时效率过低已无法满足需求,开始了android多渠道快速打包实践。

方法
下面主要介绍两种快速打包的方式:
1、类似美团的方式,在META-INF中写入渠道名的空文件,用于读取空文件。美团Android自动化之旅—生成渠道包
2、在apk末尾动态写入渠道信息。一种动态为apk写入信息的方案
其实这两种方式都是同一个原理,替换以前从manifest中读取渠道号的方式,而使用新的获取方式(渠道号如何写入就如何读取)。
所以这首先需要客户端(重要!):
1、统一应用中获取渠道的方式并替换之前的(最好兼容)。
2、注意第三方SDK渠道号的传入,比如友盟sdk,否则第三方会使用默认从manifest中读取的方式。

下面介绍一种已经测试过的方法(git上开源项目AndroidMultiChannelBuildTool
1、安装环境由于脚本环境是使用python语言,所以需要我们安装环境
2、导入项目导入开源项目AndroidMultiChannelBuildTool),并把想要批量打包的apk文件拷贝到PythonTool目录下(与py同级),运行py脚本即可打包完成。

以上基本实现快速打包,经过测试一分钟百十个无压力。另外需要注意这种方式只适用于打包需求一致渠道号不同,不适用特殊定制渠道。

备注:9月21日补充快速打包java版本,详见AndroidMultiChannelBuildTool-Java-master

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,189评论 25 708
  • Android市场的渠道分散已不是什么新鲜事,但如何高效打包仍是令许多开发者头疼的问题。本篇文章着重介绍了目前最新...
    _曾胖子阅读 2,011评论 1 10
  • [TOC] 打包流程 前言 我们每一个产品中一般都是由一位同事来负责打包工作的,其他同学一般是不需要关心具体的流程...
    钟金宝阅读 1,725评论 0 5
  • 除了上课备课改作业,剩下的时间我要用来做一点事情,若不做事,心中剩下的就是焦虑和恐惧,对于贫穷的焦虑,对于未...
    小章鱼fancy阅读 188评论 0 2
  • 1.所有变量是否都正确初始化 2.指针在使用前检查是否为null 3.指针的加法是否正确 4.确保数组不越界访问 ...
    王侦阅读 355评论 2 1

友情链接更多精彩内容