tinker在加固包生成补丁时,生成的补丁太大,所有改用hotfix方案
1.方案比较:
平台 | 阿里百川HotFix | AndFix | Tinker | Qzone | Robust |
---|---|---|---|---|---|
即时生效 | yes | yes | no | no | yes |
性能损耗 | 较小 | 较小 | 较大 | 较大 | 较小 |
侵入式打包 | 无侵入式打包 | 无侵入式打包 | 依赖侵入式打包 | 依赖侵入式打包 | 依赖侵入式打包 |
Rom体积 | 较小 | 较小 | 较大 | 较小 | 较小 |
接入复杂度 | 傻瓜式接入 | 比较简单 | 复杂 | 比较简单 | 复杂 |
补丁包大小 | 较小 | 较小 | 较小 | 较大 | 一般 |
全平台支持 | yes | yes | yes | yes | yes |
类替换 | yes(即将支持) | yes | yes | yes | no |
so替换 | yes(即将支持) | no | yes | no | no |
资源替换 | yes(即将支持) | no | yes | yes | no |
HotFix总体来说最大的优势在于:
- 补丁即时生效,不需要应用重启;
- 补丁包同样采用差量技术,生成的PATCH体积小;
- 对应用无侵入,几乎无性能损耗;
- 傻瓜式接入。
但是HotFix1.0版本也有美中不足, 比如暂时不支持新增类和资源,so文件的修复等(这些限制均会在一月中的2.0版本全部去掉),但是作为一项定位为线上紧急BUG的热修复的服务来说,能够真正做到BUG即时修复用户无感知,同时保证对应用性能不产生不必要的损耗,在热修复方面不失为一个好的选择。
2.接入文档:http://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.3Y2Pix&treeId=234&articleId=105457&docType=1
3.管理平台:
https://hotfix.taobao.com/
4.注意事项
1.暂时不支持android7
2.多个补丁同时下发,只会下载最新的补丁
3.如果生成补丁的基础版本和当前安装的app版本不一致,补丁中功能的改变不牵涉到新增(新增方法,成员,类)的部分,也可以正常打上,如果牵涉到新增,打不上,但是不会crash,打不上必须清掉这个patch,不然每次都会尝试一次
4.加固包补丁用加固前的基础包比较生成