赞
踩
想要成为一名优秀的Android开发,你需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。
热修复就是通过下发补丁包,让已安装的客户端动态更新,用户不用重新安装APP,就能够修复软件缺陷。
大致可以分为阿里系和腾讯系和其他,如下:
Dexposed 开源,实时修复
AndFix 开源,实时生效
HotFix 阿里百川,未开源,免费、实时修复
Sophix 未开源,商业收费,实时生效/冷启动修复
HotFix是AndFix的优化版本,Sophix是HotFix的优化版本。目前阿里系主推是Sophix。
Qzone超级补丁 QQ空间,未开源,冷启动修复
QFix 手Q团队,开源,冷启动修复
Tinker 微信团队,开源,冷启动修复。提供分发管理,基础版免费
Robust 美团, 开源,实时修复
Nuwa 大众点评,开源,冷启动修复
Amigo 饿了么,开源,冷启动修复
RocooFix 百度金融,开源,冷启动修复
Aceso 美丽说蘑菇街,开源,实时修复
| 框架名称和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,其他的都是至少三年之前的更新。
方法级别修复,资源修复,so库的修复
对平台兼容性要求和成功率要求
有需求对分发进行控制,对监控数据进行统计,补丁包进行管理
是否付费
学习成本
代码侵入性
调试维护成本
比如GitHub Star,大公司技术保障,专人维护
热度高,社区活跃
从这三个方面考虑,最后筛选出三个比较优秀的热修复库,Sophix,Tinker,Robust
如果考虑付费,Sophix和Tinker付费版(云服务),我支持Sophix,性能消耗低,支持即时生效,对代码无侵入,免费阈值的支持更好。
如果不考虑付费,只需要支持方法级别的Bug修复,不支持资源以及so库,推荐使用Robust,否则使用Tinker免费版。
当然如果公司实力够牛逼,可以考虑自研,灵活性以及可控性最强。
AndroidManifest出现Bug是无法修复的,因为它是由系统进行解析的,系统会直接获取安装包里唯一的AndroidMainfest.xml文件,在解析过程不会访问补丁包信息。
代码修复:任何的热修复方案,想要改变代码逻辑,都需要在补丁包里包含一个新逻辑的dex文件。
资源修复:有些资源,比如桌面图标,通知栏图标以及RemoteView之类的资源,是由系统直接解析安装包里的资源得到的,因此对于这类资源,任何热修复方案都
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。