5大Android hotfix 线上热修复框架比较
来源:互联网 发布:阿里云费用中心 编辑:程序博客网 时间:2024/05/29 19:31
hot fix
1.阿里巴巴-淘宝
https://github.com/alibaba/dexposed#
Dexposed不支持Art模式(5.0+),且写补丁有点困难,需要反射写混淆后的代码,粒度太细,要替换的方法多的话,工作量会比较大。
*2.阿里巴巴-支付宝
https://github.com/alibaba/AndFix#
AndFix支持2.3-6.0,但是不清楚是否有一些机型的坑在里面,毕竟jni层不像java曾一样标准,从实现来说,方法类似Dexposed,都是通过jni来替换方法,但是实现上更简洁直接,应用patch不需要重启。但由于从实现上直接跳过了类初始化,设置为初始化完毕,所以像是静态函数、静态成员、构造函数都会出现问题,复杂点的类Class.forname很可能直接就会挂掉。
局限性:
不支持YunOS
无法添加新类和新的字段,不支持布局资源的修改
需要使用加固前的apk制作补丁,但是补丁文件很容易被反编译,也就是修改过的类源码容易泄露。
使用了apk加固时(360加固,百度加固等等),发现在加固前要先apkpatch制作补丁,不能使用加固后的apk制作,否则补丁无法使用,但是在加固前制作的补丁可以很容易的被反编译出源码
与Nuwa相比,AndFix有一下优点:
不需要重启APP即可应用补丁。
安全性更好,Nuwa后面的版本应该也会加上安全方面的内容。
但是也有缺点:
无法添加类和字段
demo例子:AndFix实现动态热修复Demo
===============================================================
3.阿里巴巴(原腾讯QQ空间 )
https://github.com/bunnyblue/DroidFix#
支持2.3-6.0,会对启动速度略微有影响,只能在下一次应用启动时生效,在空间中已经有了较长时间的线上应用,如果可以接受在下次启动才应用补丁,是很好的选择。
4.百度
https://github.com/dodola/HotFix#
该项目是基于QQ空间终端开发团队的技术文章实现的,完成了文章中提到的基本功能。
文章地址:安卓App热补丁动态修复技术介绍
项目部分代码从 dalvik_patch 项目中修改而来,这个项目本来是用来实现multidex的,发现可以用来实现方法替换的效果。
项目包括核心类库,补丁制作库,例子。可以直接运行代码看效果。
文章作者Github: jiqimaogou
类似项目: Nuwa 这个项目补丁自动化那块做的很完整,感兴趣的可以去看
5.大众点评
https://github.com/jasonross/Nuwa#
与HotFix相比实现了中间制作补丁等操作自动化
需要重启APP
=====================================
参考:http://blog.csdn.net/lmj623565791/article/details/49883661
参考:各大热补丁方案分析和比较
参考:http://www.jianshu.com/p/479b8c7ec3e3
- 5大Android hotfix 线上热修复框架比较
- Android热修复框架HotFix分析拓展
- Android热修复学习(HotFix)
- android热修复技术 HotFix
- android 非侵入式热修复框架Hotfix使用
- Android打补丁 热修复(HotFix)小结
- Android热修复原理(HotFix)初涉
- Android热修复之HotFix初探
- Android热修复之Hotfix接入流程
- Android:热修复(阿里hotfix使用)
- android热修复-阿里Hotfix最新版(Sophix)
- Android热修复:Andfix和Hotfix,两种方案的比较与实现
- Android热修复:Andfix和Hotfix,两种方案的比较与实现
- Android热修复:Andfix和Hotfix,两种方案的比较与实现
- Android热修复:Andfix和Hotfix,两种方案的比较与实现
- Android热修复:Andfix和Hotfix,两种方案的比较与实现
- Android热修复:Andfix和Hotfix,两种方案的比较与实现
- Android热修复:Andfix和Hotfix,两种方案的比较与实现
- 一位老程序员十年的职场感悟
- jmeter脚本编写之五类常见请求编写
- python3 mail
- 鲜为人知的前端小知识
- IOS随机产生字符串,数字
- 5大Android hotfix 线上热修复框架比较
- char数组转成NSString
- 如何写一个自动抢微信红包的程序
- 使用netty4 和 protobuf2.6.1进行网络通信
- FZU 2150 Fire Game (队列压入两个点)
- extjs学习总结
- JS this作用域
- springMvc integrated with springSecurity 常见问题
- 高仿百度加载图片自定义控件