外观
混淆后如何生成 mapping.txt 文件用于崩溃堆栈还原?
标准回答
在对应构建类型启用 minifyEnabled 并构建,AGP/R8 会生成 mapping.txt,常见位置为模块 build/outputs/mapping/变体名/。按版本保存该文件,用对应产物的 mapping 交给 Retrace 或崩溃平台还原堆栈;不同构建的映射不能混用。
通俗例子
线上堆栈只有 a.b.c,拿该安装包对应的 mapping 做 retrace,才能定位原类和方法;别拿另一个版本的映射解释。
深入解释
**mapping 文件起什么作用:**它记录原始名称与混淆名称之间的映射,配合 retrace 等工具,把发布包中的堆栈尽量还原成开发时熟悉的类和方法。
**为什么必须一包一份保存:**同一项目不同构建的改名结果可能不同。应把 mapping 与精确的发布版本、构建标识关联;拿另一版 mapping 还原可能得到误导结果。
内容来源
- Android · AI Agent 知识手册 · 原条目
9.3.3