HotFix
简介:阿里的热补,https://github.com/dodola/HotFix
阿里巴巴无线事业部最近开源的Android平台下的无侵入运行期AOP框架Dexposed,该框架基于AOP思想,支持经典的AOP使用场景,可应用于日志记录,性能统计,安全控制,事务处理,异常处理等方面。阿里巴巴的开源热补框架:http://www.jianshu.com/p/14edcb444c51。
- 注意:
- 1.分包的时候有坑
- 2.在兼容性稳定性上, ClassLoader方案很可靠 ,如果需要应用 不重启就能修复 ,而且方法足够简单
- 3.Dexposed支持从Android2.3到4.4(除了3.0)的所有dalvid运行时arm架构的设备,稳定性已经经过实践检验。但高版本存在缺陷。
Nuwa
简介:能自动生成jar包的热补框架,https://github.com/jasonross/Nuwa
- 已不更新:
- 开发的时候特别方便,但是由于要自己去维护,所以不适合短期接入。
RocooFix
简介:hotfix和Nuwa的混合版
https://github.com/dodola/RocooFix
-
支持两种模式:
- 静态修复某种情况下需要重启应用。
- 动态修复,无需重启应用即可生效。
- 新增so修复,beta中
- 支持DalvikVM和ART VM
- 制作补丁更加方便
- 支持
com.android.tools.build:gradle:1.3.0
->com.android.tools.build:gradle:2.1.2
Thinker
简介:腾讯微信团队的热更开源框架,https://github.com/Tencent/tinker
- 已知问题:
- 1.不能更新androidmaifest
- 2.部分version21的三星机型不支持
Bugly
简介:依赖于腾讯的热更平台
https://bugly.qq.com/v2/
- 注意:
- 1.接入后有bug分析功能
- 2.能实时发布热补
- 3.能面向测试设备发布热补(debug和release可以设置)
Reactive-Native
该方案适合bundle替换,只要远程提供打包好的bundle,app下载后重新加载即可
巧妙利用AssetManger+dex热更方式来实现替换资源
http://blog.csdn.net/tuhuolong/article/details/52384417
风险分析
简介:分析腾讯应用的热补过程,Andfix、QZone、微信几套方案的实现,以及它们方案面临着的问题。http://www.07net01.com/program/2016/11/1706227.html
若采用插桩导致所有类都非preverify,这导致verify与optimize操作会在加载类时触发。这会有一定的性能损耗,微信分别采用插桩与不插桩两种方式做过两种测试,一是连续加载700个50行左右的类,一是统计微信整个启动完成的耗时。
Paste_Image.png
1.占用Rom体积;这边大约是你修改Dex数量的1.5倍(dexopt与dex压缩成jar)的大小。
2.一个额外的合成过程;虽然我们单独放在一个进程上处理,但是合成时间的长短与内存消耗也会影响最终的成功率。
参考表格:
Paste_Image.png
网友评论