介绍热修复之前,我们先看下InstantRun
InstantRun
不得不说InstantRun真是个好东西。目前主流的热修复框架都有或多或少的参考InstantRun的某些技术点。
我们知道,InstantRun对应三种更新机制:
冷插拔:我们称之为重启更新机制
温插拔:我们称之为重启Activity更新机制,在重启的时候替换Application的classLoader来加载dex
热插拔:我们称之为热更新机制是新建classLoader来加载dex
Robus,其热修复的关键技术点就是采用了InstantRun中的热更新机制,对应于多ClassLoader的动态加载方案,即一个dex文件对应一个新建ClassLoader
优势支持Android2.3-7.x版本
高兼容性,高稳定性,修复成功率高达三个九
补丁下发立即生效,不需要重新启动
支持方法级别的修复,包括静态方法
支持增加方法和类
支持ProGuard的混淆、内联、优化等操作
流程
我们先看集成流程图
美团热修复官方地址:Robust
集成
把项目下载到本地并解压