You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R8压缩Android资源文件是否有映射文件?能否不重命名压缩?

问题解答

一、能否将重命名后的资源文件名反向映射回原名?

  • 官方无现成反向映射文件:mapping.txt仅对应Kotlin/Java代码的混淆映射,resources.txt仅记录资源使用情况,均不包含资源文件名的重命名映射关系。R8/AGP在资源重命名过程中不会生成这类映射记录,因为资源的引用依赖编译生成的资源ID而非文件名,构建系统默认不会保留文件名映射。
  • 手动匹配方案:可通过对比资源文件的内容或哈希值(如MD5)来对应原名。重命名后的资源文件内容与原文件完全一致,你可以将解压APK后的资源与本地项目中的原始资源逐一对比哈希值,从而匹配回原始文件名。

二、如何仅压缩资源而不重命名文件名?

在Release构建配置中添加禁用资源重命名的配置即可,修改后的Gradle配置如下:

release {
    minifyEnabled true
    shrinkResources true
    // 禁用资源文件名重命名,仅保留资源压缩功能
    resources {
        minifyRenames false
    }
    proguardFiles getDefaultProguardFile('proguard-android.txt'), '../proguard-rules.pro'
    signingConfig signingConfigs.release
}

该配置会保留原始资源文件名,同时正常压缩未被使用的资源,满足你的需求。

内容的提问来源于stack exchange,提问作者Nilzor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:45:55