android热更新

作者: jimdear | 来源:发表于2016-12-02 09:42 被阅读294次

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

  • 支持两种模式
    1. 静态修复某种情况下需要重启应用。
    2. 动态修复,无需重启应用即可生效。
    3. 新增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

相关文章

  • ReactNative热更新&拆包

    目录 1)全量热更新-Android 2)拆包增量更新-Android 3)图片增量更新-Android 4)全量...

  • android更新

    ## android更新 ## 导航 - ### 热更新 >- [x] 热修复简介 >- [x] 技术原理及特点 ...

  • 热更新

    热更新调研ps:本文是参考网上的资源而写的,参考链接如下:Android热修复技术原理详解Android热更新技术...

  • android热更新

    HotFix 简介:阿里的热补,https://github.com/dodola/HotFix阿里巴巴无线事业部...

  • Android热更新

    一.热更新流程 1.线上检测到严重的crash 2.拉出bugfix分支并在分支上修复问题 3.jenkins构建...

  • Android热更新

    Android

  • Android 热更新

    项目里面要加入热更新的模块,最近研究了几个框架,相对来说,bugly 集成的tinker 开发体验最好,而且微信那...

  • Android 热更新

    Android 下 class文件 转 dex 我们使用的工具是android sdk——>build-tools...

  • Android 热更新

    嘿,今天的你过的还好吗,今天分享一下实现app在线更新 这么复杂的东西造轮子指定不是我的性格,先讲怎么用,然后再说...

  • Android 热更新

    记录一下,我花了几个小时通读了一遍,写的很不错,保存下来方便以后查询Android热更新一:JAVA的类加载机制A...

网友评论

    本文标题:android热更新

    本文链接:https://www.haomeiwen.com/subject/rrxfmttx.html