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、任