Android热修复升级探索——资源更新之新思路
前言
Android资源的热修复,就是在app不重新安装的情况下,利用下发的补丁包直接更新本app中的资源。
我们在开发阿里云移动热修复(Sophix)的过程中,对Android资源的加载原理做了深入的探究,最终在资源修复方法上取得了突破性进展!新的资源修复方法不论是在使用便捷性、补丁包大小以及运行时效率方面,相比其他实现都有巨大的优势。
普遍的实现方式
目前市面上的很多资源热修复方案基本上都是参考了Instant Run的实现。
首先,我们简单来看一下Instant Run是怎么做到资源热修复的。
Instant Run资源热修复的核心代码就是这个monkeyPatchExistingResources方法:
@com/android/tools/fd/runtime/MonkeyPatcher.java
public static voi