使用移动热修复时如何配置混淆文件,使得新旧包混淆一致?

概述

本文主要介绍在进行移动热修复时,如何配置混淆文件,使得新旧包混淆一致?

详细信息

应用在上线打包APK时,往往会进行混淆操作,但是由于修复前后两个APK混淆结果不同,会导致patch无效,无法修复Bug。所以,需要注意应用打包APK时修复前后两个APK必须使用同一份mapping.txt,以保证两个APK混淆结果一致。如果APP应用了混淆配置,那么需要进行以下处理,如果没有应用混淆配置,则不需要以下处理。

  • 映射文件使用:
    1. 配置混淆参数 -applymapping-printmapping 参数,然后app目录下放一个空的mapping.txt文件,生成一个基线包。
    2. 把Build文件中的mapping.txt复制到app目录下。(保存这个mapping和基线包)
    3. 注释-printmapping参数。
    4. 修改代码之后,生成一个新的包,对比两个包的差异。
  • 注意事项如下:
    • 生成的mapping.txt在当前模块目录下的/build/outputs/mapping目录下。
    • 需要保证mapping.txt文件和基线包的文件是一一对应。

适用于

  • 移动热修复