热修复是什么 ?

热修复无疑是这 2 年较火的新技术,是作为安卓工程师必学的技能之一。在热修复出现之前,一个已经上线的 app 中如果出现了 bug,即使是一个非常小的 bug,不及时更新的话有可能存在风险,若要及时更新就得将 app 重新打包发布到应用市场后,让用户再一次下载,这样就大大降低了用户体验,当热修复出现之后,这样的问
题就不再是问题了。目前较火的热修复方案大致分为两派,分别是:

  1. 阿里系:spohix、andfix:从底层二进制入手(c 语言)。
  2. 腾讯系:tinker:从 java 加载机制入手

热修复基本原理

  1. 下发补丁(内含修复好的 class)到用户手机,即让 app 从服务器上下载(网络传输)。
  2. app 通过**”某种方式”**,使补丁中的 class 被 app 调用(本地更新)。

tinker

tinker原理

tinker源码分析