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

Android编译报Can not extract resource from ParsedResource如何解决

异常说明

Android项目编译阶段抛出如下AAPT2资源解析错误时,属于资源编译环节的泛化错误,默认不会直接给出具体出错的资源路径:

Can not extract resource from com.android.aaptcompiler.ParsedResource@d5789c4.
Can not extract resource from com.android.aaptcompiler.ParsedResource@57808e1e.
触发原因

该错误是AAPT2(Android官方资源编译工具)在资源解析、合并阶段抛出的通用错误,常见触发场景如下:

  • 本地资源格式不合法:这是占比最高的诱因。res目录下的资源存在格式问题时,AAPT2无法完成解析就会抛出该错误,常见问题包括:XML布局/drawable/配置文件标签未闭合、属性值漏写闭合引号、属性名拼写错误、9-patch图片拉伸标记不规范、PNG/WebP等图片文件损坏、资源文件名包含大写字母/中文/特殊字符不符合命名规则。
  • 构建缓存损坏:编译过程异常中断、Android Studio/AGP版本升级后旧缓存不兼容,会生成不完整的资源解析中间产物,后续构建读取到这些损坏的缓存文件时,就会触发资源提取失败。
  • 依赖资源冲突:主项目和引入的第三方SDK、本地AAR之间存在同名但格式不兼容的资源,或是多个依赖之间存在资源版本冲突,AAPT2在资源合并阶段无法正确处理冲突项就会报错。
  • 构建工具版本不匹配:Android Gradle插件(AGP)和SDK Build-Tools版本跨大版本混用、使用了存在已知AAPT2解析bug的AGP预览版/旧补丁版,也会出现合法资源被误判无法解析的情况。
修复方案

按排查成本从低到高按顺序操作即可:

  • 清理构建缓存,优先排除缓存问题
    首先在项目根目录执行对应平台的清理命令:
    # Windows系统
    gradlew clean
    # macOS/Linux系统
    ./gradlew clean
    
    若清理后仍报错,手动删除项目根目录下的.gradle文件夹、各模块下的build文件夹,再通过Android Studio顶部菜单File > Invalidate Caches...勾选所有缓存选项,重启IDE后重新编译。版本升级后首次出现该错误时,该方案解决率超过80%。
  • 定位并修复损坏的本地资源
    开启AAPT2调试日志获取更详细的编译输出,在对应模块的build.gradle的android闭包中添加如下配置:
    android {
        // 其余原有配置保持不变
        aaptOptions {
            additionalParameters "--verbose", "--debug"
        }
    }
    
    重新同步后编译,根据控制台输出的日志定位最后处理的资源文件,重点检查最近新增/修改的资源:确认XML语法无误、图片文件可正常打开、9-patch标记合规、所有资源文件名仅使用小写字母、数字、下划线。
  • 排查依赖资源冲突
    执行依赖查看命令打印完整依赖树:
    ./gradlew <你的模块名>:dependencies
    
    排查是否存在重复引入、版本冲突的依赖包,如果确认是第三方依赖内带的损坏资源,可以通过升级/降级对应依赖版本、添加资源排除规则的方式解决。
  • 校验构建工具版本匹配性
    检查项目使用的AGP版本和SDK Build-Tools版本是否为官方匹配的稳定组合,避免跨大版本混用;如果当前使用的是AGP预览版或旧补丁版本,可以升级到对应大版本的最新稳定补丁版,修复已知的AAPT2解析bug。

小提示:如果报错前没有修改过任何代码/资源、只是重启了Android Studio或者更新了IDE版本,直接走缓存清理流程即可,不需要逐行检查资源文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:42:18