最开始,手淘是基于Xposed进行了改进,产生了针对Android Dalvik虚拟机运行时的Java Method Hook技术——Dexposed。 但该方案对于底层Dalvik结构过于依赖,最终无法兼容Android 5.0 以后的ART虚拟机,因此作罢。 后来支付宝提出了新的热修复方案AndFix。 AndFix同样是一种底层替换的方案,也达到了运行时生效即时修复的效果,并且重要的是,做到了Dalvik和ART环境的全版本兼容 阿里百川结合手淘在实际工程中使用AndFix的经验,对相关业务逻辑解耦后,推出了阿里百川HotFix方案,并得到了良好的反响。 此时的百川HotFix已经是一个很不错的产品了,对基本的代码修复需求都可以解决,安全性和易用性都做的比较好。然而,它所依赖基石,AndFix本身是有局限性的。且不说其底层固定结构的替换方案不好,其使用范围也存在着诸多限制,虽然可以通过改造代码绕过限制来达到相同的修复目的,但这种方式即不优雅也不方便。而更大的问题,AndFix只提供了代码层面的修复,对于资源和so的修复都未能实现。 在Android平台上,业界除了阿里系之外,比较著名的修复还有:腾讯QQ空间的超级补丁技术、微信的Tinker、饿了么的Amigo、美团的Robust等等。不过他们各自有自身的局限性,或者不够稳定,或者补丁过大,或者效率低下,或者使用起来过去繁琐,大部分技术上看起来似乎可行,但实际体验并不好。 终于在2017年6月,阿里巴巴手淘技术团队联合阿里云正式发布了新一代的非侵入式的Android热修复方案——Sophix。 Sophix的横空出世,打破了各家热修复技术纷争的局面。因为我们可以满怀信心的说,在Android热修复的三大领域:代码修复、资源修复、so修复方面,以及方案的安全性和易用性方面,Sophix都做到了业界领先。 Sophix的诞生,期初是对原先的阿里百川的HotFix 1.X版本进行升级衍进。 作者:primLooper 链接:https://www.jianshu.com/p/5646b3b57f77 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
下载次数 3次 资源类型 技术文档 上传时间 2020-03-23
已有--人来访过
现在还没有留言