美文网首页 Android知识进阶(遥远的重头开始)
Android-热修复技术框架如何选择?记录一波...

Android-热修复技术框架如何选择?记录一波...

作者: MonkeyLei | 来源:发表于2019-10-23 14:06 被阅读0次

    贴出一堆网上看的记录:

    目前主流的热修复技术框架

    阿里系的: Andfix(Alibaba - start:6.6k 3、4年未更新了)、Hotfix(3、4年未更新了)、Sophix(移动热修复App热修复Android热修复实时修复线上Bug热修复 - 阿里云 - 没开源)

    腾讯系的:QQ空间超级补丁技术、Qfix(热度不高)、Tinker(微信 Tencent/tinker - 持续更新 start: 14.3k)

    美团系的:Robust (Meituan-Dianping/Robust - start:3.4k 有更新 - 可以考虑拿来做方法级别修复)

    饿了么的:Amigo (eleme/Amigo - start:1.3k 2,3年未更)

    关于热修复的技术积淀

    最开始 ,是手淘基于Xposed进行了改进,产生了针对Android Dalvik虚拟机运行时的Java method Hook技术——Dexposed。但是这个方案由于对底层Dalvik结构过于依赖,最终无法兼容Android5.0以后

    后来支付宝提出了新的热修复方案Andfix。Andfix同样是一种底层结构替换的方案,也达到了运行时生效及时修复的效果,阿里后来对Andfix改进,对相关业务解耦后,推出了阿里百川Hotfix方案,此时的修复已经非常的不错,对代码修复需求都可以解决,而且全版本兼容,但是问题在于Anfix本身有局限,它只提供代码层面的修复,对于资源和so库的修复都还未能实现

    最终在2017年Sophix的横空出世,打破了各家热修复技术纷争的局面。在代码修复,资源修复,so修复的方面,以及方案的安全性,易用性放慢,sophix都做到了业界领先

    通过类加载机制实现

    优点:适用性强、修复范围广、限制少

    缺点:属于热修复中的冷修复、需要重启App

    通过底层替换方法实现

    优点:时效好、不需重启,即使生效

    缺点:受限制较多(需要修改虚拟机字段,如果手机厂商修改了虚拟机…….)。

    -------我觉得当前的选择-------

    1. 如果只是简单的修复方法,选择美团的Meituan-Dianping/Robust,小公司小项目应该可以了,也还是在更新中。像阿里之前的修复方案不建议选择了,基本三四年没维护了。
    2. 如果是还需要针对so,资源等,可以考虑微信的Tencent/tinker,基础版开源免费.
    3. 也可以采用阿里的Sophix,不过收费,有免费阀值,这个如果项目没啥这种硬性需求,感觉没必要。 毕竟android这种一年更新多次,不会怎么影响用户,关键是要保证产品品质和用户体验才是关键! 所以我打算快速试下Robust和tinker.....其他的都可以深入了解学习!

    Next, Let's do it!

    来自如下网友分享:

    Android热修复技术,你会怎么选?

    Android 热修复介绍之代码修复

    相关文章

      网友评论

        本文标题:Android-热修复技术框架如何选择?记录一波...

        本文链接:https://www.haomeiwen.com/subject/ulckvctx.html