Android热修复升级探索——代码修复冷启动方案

  1. 云栖社区>
  2. 阿里云ApsaraMobile(移动云)>
  3. 博客>
  4. 正文

Android热修复升级探索——代码修复冷启动方案

mqc 2017-10-10 15:54:18 浏览4071
展开阅读全文

前言

前面一篇文档, 我们提到热部署修复方案有诸多特点(有关热部署修复方案实现, Android热修复升级探索——追寻极致的代码热替换)。其根本原理是基于native层方法的替换, 所以当类结构变化时,如新增减少类method/field在热部署模式下会受到限制。 但冷部署能突破这种约束, 可以更好地达到修复目的, 再加上冷部署在稳定性上具有的独特优势, 因此可以作为热部署的有利补充而存在。

冷启动实现方案概述

冷启动重启生效,现在一般有以下两种实现方案, 同时给出他们各自的优缺点:
方案一

原理: 为了解决Dalvik下unexpected dex problem异常而采用插桩的方式, 单独放一个帮助类在独立的dex中让其他类调用, 阻止了类被打上CLASS_ISPREVERIFIED标志从而规避问题的出现。 最后加载补丁dex得到dex

网友评论

登录后评论
0/500
评论
mqc
+ 关注