当前位置:   article > 正文

深入解析:Android热修复技术选择和原理,字节跳动最新开源_android 热修复框架

android 热修复框架

想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。

热修复就是通过下发补丁包,让已安装的客户端动态更新,用户不用重新安装APP,就能够修复软件缺陷。

热修复技术对比
1.公司角度

大致可以分为阿里系和腾讯系和其他,如下:

  1. 阿里系

Dexposed 开源,实时修复

AndFix 开源,实时生效

HotFix 阿里百川,未开源,免费、实时修复

Sophix 未开源,商业收费,实时生效/冷启动修复

HotFix是AndFix的优化版本,Sophix是HotFix的优化版本。目前阿里系主推是Sophix。

  1. 腾讯系

Qzone超级补丁 QQ空间,未开源,冷启动修复

QFix 手Q团队,开源,冷启动修复

Tinker 微信团队,开源,冷启动修复。提供分发管理,基础版免费

  1. 其他

Robust 美团, 开源,实时修复

Nuwa 大众点评,开源,冷启动修复

Amigo 饿了么,开源,冷启动修复

RocooFix 百度金融,开源,冷启动修复

Aceso 美丽说蘑菇街,开源,实时修复

2.技术角度
1.代码修复的角度

2.代码修复,资源修复,so修复这三个角度

3.已开源的热修复框架数据对比

| 框架名称和github地址 | star数量 | 最后一次更新 | 版本 |

| — | — | — | — |

| Dexposed | 4.3k | 5 years ago | 0.1.8 |

| AndFix | 6.8k | 4 years ago | 0.5.0 |

| QFix | 8 | 3 years ago | 无 |

| Nuwa | 2.9k | 5 years ago | 1.0.0 |

| Tinker | 15.2k | 29 days ago | 1.9.14.7 |

| Robust | 3.7k | 4 months ago | 0.4.99 |

| Aceso | 791 | 3 years ago | 0.0.3 |

| Amigo | 1.3k | 3 years ago | 0.6.* |

| RicooFix | 1.6k | 4 years ago | 无 |

可以看到,近期还在更新的有Tinker和Robust,其他的都是至少三年之前的更新。

如何选择热修复框架
三个方面进行考虑
1.项目需求

方法级别修复,资源修复,so库的修复

对平台兼容性要求和成功率要求

有需求对分发进行控制,对监控数据进行统计,补丁包进行管理

是否付费

2.学习,使用成本

学习成本

代码侵入性

调试维护成本

3.技术保障,稳定性

比如GitHub Star,大公司技术保障,专人维护

热度高,社区活跃

小结

从这三个方面考虑,最后筛选出三个比较优秀的热修复库,Sophix,Tinker,Robust

如果考虑付费,Sophix和Tinker付费版(云服务),我支持Sophix,性能消耗低,支持即时生效,对代码无侵入,免费阈值的支持更好。

如果不考虑付费,只需要支持方法级别的Bug修复,不支持资源以及so库,推荐使用Robust,否则使用Tinker免费版。

当然如果公司实力够牛逼,可以考虑自研,灵活性以及可控性最强。

代码、资源、so库修复

AndroidManifest出现Bug是无法修复的,因为它是由系统进行解析的,系统会直接获取安装包里唯一的AndroidMainfest.xml文件,在解析过程不会访问补丁包信息。

代码修复:任何的热修复方案,想要改变代码逻辑,都需要在补丁包里包含一个新逻辑的dex文件。

资源修复:有些资源,比如桌面图标,通知栏图标以及RemoteView之类的资源,是由系统直接解析安装包里的资源得到的,因此对于这类资源,任何热修复方案都

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/674186
推荐阅读
相关标签
  

闽ICP备14008679号