在热更新方案里面,阿里巴巴的AndFix因为”立即生效”这样的特性显得非常的出众,但是兼容性一直是它的硬伤,看到AndFix的issue列表,就让很多公司望而却步。
最近阿里巴巴以一个非常优雅的方式解决了兼容性这个问题,这个方案的竞争力大增。然而阿里巴巴并没有在开源的AndFix中fix这个兼容性的问题,而是另起炉灶,弄了一个Sophix,而且 绑定百川后台,并不开源。
手机淘宝技术团队MTT的博文Android热修复升级探索非常详细地描述了这个解决方案,非常优雅,而且简单。
地瓜根据这篇文章在AndFix5.0的基础上fix了兼容性问题。可以看到,现在只要非常非常少的NDK代码。具体的代码的fix在dlmu2001/AndFix这里。
aar在https://github.com/dlmu2001/AndFix/tree/master/outputs这里,用这个aar替换alibaba AndFix的aar就可以。
如果你想要的也仅仅是解决AndFix的兼容性问题,而不是切换到Sophix,这个patch一定是你想要的。
https://dlmu2001.github.io/android/2017/06/10/AndFix-patch.html