Skip to content
阅读进度

混淆后如何生成 mapping.txt 文件用于崩溃堆栈还原? ​

返回 构建与质量门禁 目录

标准回答 ​

在对应构建类型启用 minifyEnabled 并构建,AGP/R8 会生成 mapping.txt,常见位置为模块 build/outputs/mapping/变体名/。按版本保存该文件,用对应产物的 mapping 交给 Retrace 或崩溃平台还原堆栈;不同构建的映射不能混用。

通俗例子 ​

线上堆栈只有 a.b.c,拿该安装包对应的 mapping 做 retrace,才能定位原类和方法;别拿另一个版本的映射解释。

深入解释 ​

**mapping 文件起什么作用:**它记录原始名称与混淆名称之间的映射,配合 retrace 等工具,把发布包中的堆栈尽量还原成开发时熟悉的类和方法。

**为什么必须一包一份保存:**同一项目不同构建的改名结果可能不同。应把 mapping 与精确的发布版本、构建标识关联;拿另一版 mapping 还原可能得到误导结果。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。