当一个 App 发布之后,突然发现了一个严重 bug 需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包 App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。这时候就提出一个问题:有没有办法以补丁的方式动态修复紧急Bug,不再需要重新发布App,不再需要用户重新下载,覆盖安装?答案当然是有的,那就是最近涌现出来得热补丁方案。
截止目前国内包含支付宝、淘宝、微信、QQ空间、饿了么、美丽说蘑菇街、美团大众点评等团队都推出了自己的热修复方案。(以下图片来自美丽说蘑菇街热修复文章分析)
主要分析了 Dexposed、AndFix、ClassLoader 这三种方案的原理原理和各自的优缺点,感觉现在文章可以加入 Instant Run 和微信的 Tinker 热补丁方案了 Android QQ空间团队提出了独特的解决方法,该方案基于的是android dex分包方案的。具体大家直接点击原文查看 文章介绍了热补丁主要是让应用能够在无需重新安装的情况实现更新,帮助应用快速建立动态修复能力,同时对比了 Dexposed、AndFix、QQ 空间的 ClassLoader 等等的业务局限然后根据微信自身的需求推出了微信自己的热补丁方案 Tinker。 Alibaba 出品的热修复方案,主要涉及到AndFix、Dexposed框架的使用和原理分析。 第5、第6篇,简单明了的带你看懂Instant Run的运作方式。 第7、8篇文章,基于开源框架 Nuwa 来实现的热修复方案。 10、蘑菇街 Android 热修复探索之路 ( 技术解读 )基于 Instant Run Hot Swap 的 Android 热修复方案,使用它你能在不用重新发布版本的情况下对线上 app 的 bug 进行修复。
新一代热更新系统Robust,对Android版本无差别兼容。无需发版就可以做到随时修改线上bug,快速对重大线上问题作出反应,补丁修补成功率高达99.9%。
Amigo是业界比较成熟的Hotfix解决方案,同时它适用的业务场景也并不会局限于此。如果你的团队是采用并行开发的话,发版周期会将是一个非常头疼问题,有了Amigo,这些都将不再是困扰业务的快速发展。 Android 热修复技术经过这几年发展已经非常成熟了,以上那么多轮子总有一个适合你。
|