文档增量混淆

增量混淆

预计阅读时间:8 分钟

什么是增量混淆?

增量混淆是指在后续版本更新时,保持已混淆标识符的一致性。 通过导入之前的映射文件,确保相同的类名/方法名混淆为相同的结果, 避免因混淆名称变化导致的崩溃日志难以追踪。

为什么需要增量混淆?

崩溃日志一致性

不同版本的崩溃日志可以使用同一个映射文件还原

热更新兼容

确保热更新代码与主包代码的混淆名称一致

团队协作

多人开发时保持混淆结果一致

使用方法

步骤一:导出映射文件

首次混淆完成后,导出映射文件并妥善保存:

文件 → 导出映射文件 → mapping_v1.0.json

步骤二:导入映射文件

下次混淆前,导入之前的映射文件:

文件 → 导入映射文件 → 选择 mapping_v1.0.json

步骤三:执行混淆

CodeFog 会自动复用已有的映射关系,新增内容使用新的随机名称

配置选项

{
  "incremental": {
    "enabled": true,
    "mappingFile": "./mapping_v1.0.json",
    "strictMode": false  // 严格模式:映射不存在时报错
  }
}
enabled - 启用增量混淆
mappingFile - 映射文件路径
strictMode - 严格模式

最佳实践

  • 将映射文件纳入版本控制(Git)
  • 每个版本发布后备份映射文件
  • CI/CD 流程中自动导入映射文件
  • 定期清理不再使用的旧映射条目