android nuwa2,android热更新

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

已不更新:

开发的时候特别方便,但是由于要自己去维护,所以不适合短期接入。

RocooFix

简介:hotfix和Nuwa的混合版

支持两种模式:

静态修复某种情况下需要重启应用。

动态修复,无需重启应用即可生效。

新增so修复,beta中

支持DalvikVM和ART VM

制作补丁更加方便

支持com.android.tools.build:gradle:1.3.0->com.android.tools.build:gradle:2.1.2

Thinker

已知问题:

1.不能更新androidmaifest

2.部分version21的三星机型不支持

Bugly

注意:

1.接入后有bug分析功能

2.能实时发布热补

3.能面向测试设备发布热补(debug和release可以设置)

Reactive-Native

该方案适合bundle替换,只要远程提供打包好的bundle,app下载后重新加载即可

巧妙利用AssetManger+dex热更方式来实现替换资源

风险分析

简介:分析腾讯应用的热补过程,Andfix、QZone、微信几套方案的实现,以及它们方案面临着的问题。http://www.07net01.com/program/2016/11/1706227.html

若采用插桩导致所有类都非preverify,这导致verify与optimize操作会在加载类时触发。这会有一定的性能损耗,微信分别采用插桩与不插桩两种方式做过两种测试,一是连续加载700个50行左右的类,一是统计微信整个启动完成的耗时。

c12063b41aa2

Paste_Image.png

1.占用Rom体积;这边大约是你修改Dex数量的1.5倍(dexopt与dex压缩成jar)的大小。

2.一个额外的合成过程;虽然我们单独放在一个进程上处理,但是合成时间的长短与内存消耗也会影响最终的成功率。

参考表格:

c12063b41aa2

Paste_Image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值