mPaas-Android DexPatch介绍以及常见问题排查
为了解决Native模块上线后的问题,mPaas 提供了热修复功能,实现不发布客户端apk场景下的热修复。目前Android端热修复主要包括andfix和dexpatch,考虑到andfix的版本兼容性,目前主要推荐使用DexPatch。
DexPatch修复原理比较简单,就是在启动后通过RPC拉取当前需要下发的jar包地址,然后通过独立进程去下载jar包文件,下载完成后保存。在二次启动的时候hook系统的classLoader,修改DexPathList, 在其数组的最前面加入一个有修改过的class的dex文件,使其拦截住数组后面的dex文件中同名的class的加载。