1. 热更新流程
2. 主流热更新框架
- Dexposed 热更新、日志记录等
- AndFix 只专注于热更新
- Nuwa 基于Android的dex分包技术
3. 热更新原理
Android类加载机制:DexClassLoader 和 PathClassLoader
热修复机制:在ClassLoader中创建一个用于存放dex文件的dexElements数组,通过线上的Crash定位找到出问题的类文件,修正这个类文件,打包成一个dex文件(补丁),将补丁放在dexElements最前方,由于ClassLoader要加载一个类的时候会先加载在dexElements数组中最先出现的那个同名类,这样,ClassLoader遍历这个数组的时候,只会加载补丁中的类文件,而不会加载线上crash的那个类文件,实现了热更新。