20220701
什么是热修复
定义:在我们应用上线后出现bug需要及时修复时,不用再发
新的安装包,只需要发布补丁包,在客户无感知下修复掉bug。
目前比较流行的热修复方案有微信的 Tinker,手淘的 Sophix,美团的 Robust,以及 QQ 空间热修复方案。
实例
Tinker框架:开源
微信——开源——冷启动修复
地址:https://github.com/Tencent/tinker
介绍
Tinker是适用于Android的修补程序库,它支持dex,库和资源更新,而无需重新安装apk。
使用
该框架最后一次的更新时间是2021年4月19日,详细使用说明可以参考官方文档。
Tinker 的实现过程更像是在 Qzone 热修复方案上做优化。核心点是性能最优,消耗最低。
优点
补丁包较小,消耗较小;
开发透明,文档丰富。
缺点
占用 ROM 较大;
需要重启才能生效。
1、Tinker不支持修改AndroidManifest.xml;
2、Tinker不支持新增四大组件;
3、在Android N上,补丁对应用启动时间有轻微的影响;
4、不支持部分三星android-21机型,加载补丁时会主动抛异常;
5、在1.7.6以及之后的版本,tinker不再支持加固的动态更新;
6、对于资源替换,不支持修改remoteView。例如transition动画,notification
icon以及桌面图标。
7、任何热修复技术都无法做到100%的成功修复。
Sophix框架:未开源
阿里——未开源(商业收费)——实时修复+冷启动修复
介绍
Sophix的核心设计理念,就是非侵入性。
我们的打包过程不会侵入到apk的build流程中。我们所需要的,只有已经生成完毕的新旧apk,而至于apk是如何生
成的——是Android Studio打包出来的、还是Eclipse打包出来的、或者是自定义的打包流程,我们一律不关心。
在

本文介绍了Android常用的热修复框架,如微信的Tinker、阿里的Sophix、美团的Robust以及QQ空间的QFix。重点分析了各框架的特点、优缺点,包括补丁包大小、即时生效能力、开发透明度和平台支持。Tinker和Sophix在补丁部署上有优势,而Sophix以简单集成和安全补丁包脱颖而出,但也存在补丁加载问题。选择热修复框架时,需要权衡功能、性能和开发效率。
最低0.47元/天 解锁文章
811

被折叠的 条评论
为什么被折叠?



