最近在学习热修复技术,主流的就是阿里的AndFix基础上开发的商业级框架Sophix和腾讯在tinker基础上开发的商业级框架Bugly,当然热修复都只是两者其中的一部分功能,还有一些其他的功能
一、Sophix
特点:
1、从底层native直接替换原有方法,在原来类的基础上进行修改。核心在于replaceMethod函数,所以只支持方法的替换,对于方法的增删、资源更新、so文件更新、类的属性替换都不支持。
2、可以立即生效,消耗很低,实测上传官网之后可以立即进行修改
3、补丁包很小,下面的就是之前实际 测试的补丁包,只是修改了一个方法和布局文件,内部只包含修改的内容,所以补丁包很小
4、由于更换底层native方法,因此对于深度定制的国产机可能存在机型适配问题
5、AndFix只能修复方法的bug,不能修改资源和so文件的bug,并且已经4年多没有更新了,存在兼容问题;Sophix可以修复方法bug、资源、so文件的问题,但是Sophix是收费的,两者接入都是比较简单的,
接入:
根据官网的接入规则接入包,然后使用Sophix提供工具生成修复包,直接上传官网即可