概述
本章将介绍将对多渠道打包进行总结,以及多渠道打包的展望。
Android多渠道打包(一):基础多渠道打包
Android多渠道打包(二):友盟多渠道打包
Android多渠道打包(三):美团多渠道打包
Android多渠道打包(四):360多渠道打包
Android多渠道打包(五):360多渠道打包+
Android多渠道打包(六):maven&gradle
Android多渠道打包(七):系列总结及展望
总结
在android开发中目前我遇到的就是这六种多渠道打包方式,也是android打包方式的进化史,从最开始的手工原始打包,到友盟放出修改manifest文件、美团的添加渠道空文件、360的添加apk注释,直到android studio中gradle的原生支持。
其中360多渠道打包出现了进阶变种,解放了咱们android开发者,360多渠道打包plus完全属于黑科技,打包最快,兼容性相对于友盟美团更好,而gradle打包虽然重复构建,但是可以精确定制各渠道的属性。
1.原始多渠道打包:
渠道较少的情况下使用,每设置一次渠道id需要构建一次,完全是个体力活。
2.友盟多渠道打包:
打包:解压apk文件 -> 替换AndroidManifest.xml中的meta-data -> 压缩apk文件 -> 签名
读取渠道号:直接通过Android的API读取meta-data
特点:需要解压缩、压缩、重签名耗费时间较多,重签名会导致apk包在运行时有兼容性问题。
3.美团多渠道打包
打包:解压apk文件 -> META-INF目录下创建一个以渠道号为文件名的空文件 -> 压缩apk文件
读取渠道号:解压已安装的data/app/<package>.apk -> 读取以渠道号为文件名的空文件的文件名
特点:比友盟高效点,只有解压缩和压缩,没有签名,兼容性也比较好,但是读取渠道号需要解压缩apk,速度比较慢。
4.360多渠道打包
打包:直接写入渠道号到apk文件的末尾
读取渠道号:直接读取data/app/<package>.apk文件末尾的渠道号
特点:没有解压缩、压缩、重签名,没有兼容性问题,速度最快;写入的渠道号数据支持加密,安全可靠。
5.360多渠道打包plus(进阶版)
改善了360多渠道打包受android api19的影响,并扩展了java、python、gradle插件版,是目前第三方多渠道打包中速度最快最灵活的。
6.maven、gradle版
对于android studio而言基本上抛弃了maven的方式,那么对于gradle版我们可以通过productFlavors通过更加细腻的定制,不过打包构建过程还是比较耗时。
那么我们选择时可以按实际情况使用360多渠道打包plus,或者android studio gradle多渠道打包。需注意的是360多渠道打包plus无法通过android7.0签名校验,当然只要是通过后期修改apk文件的方式都不能通过android7.0的签名校验。
持续集成(CI)
持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
因此我们还可以将多渠道打包通过CI脚本进行自动化构建,感兴趣的读者可以在团队中集成之。
展望
相信在不就的将来会在android studio gradle中出现支持细腻的渠道定制,同时支持快速构建的gradle版本。如果出现更加优秀或者比较黑科技的多渠道打包方式我会添加到这个系列。
全系列所用引用
首先感谢本系列所引用资源各大神,正是因为这些大神的不吝开源,Android开发才变得得心应手,以下是本多渠道打包系列所引用的文章或开源项目。
umeng+:github开源工具
umeng+:官方文档1
umeng+:官方文档2
美团:github开源工具
美团点评技术文档
360的seven456:github开源工具
mcxiaoke:github开源工具
mcxiaoke:技术文档
android官方gradle用户向导
最后
以上就是魁梧衬衫为你收集整理的Android多渠道打包(七):系列总结及展望的全部内容,希望文章能够帮你解决Android多渠道打包(七):系列总结及展望所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复