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

如何解决Android项目的:app:mergeDebugResources资源合并错误?

解决:app:mergeDebugResources任务失败(资源编译异常)

针对你遇到的java.lang.IllegalStateException:无法从com.android.aaptcompiler.ParsedResource提取资源导致values.xml编译失败的问题,可以按以下步骤排查解决:

  • 检查values.xml语法与内容错误
    直接打开项目中所有values.xml文件(包括多语言、不同分辨率目录下的),重点排查:

    • 标签是否完整闭合,比如<string>有没有对应的</string>
    • 资源引用是否正确,比如@string/xxx是否拼写错误,或者引用了不存在的资源
    • 字符串里的特殊字符是否转义,比如双引号要写成\"
    • 是否存在重复的资源ID,比如两个<string name="test">
  • 清理构建缓存后重新构建
    执行命令清理缓存再构建:

    ./gradlew clean
    ./gradlew assembleDebug
    

    也可以通过Android Studio操作:File -> Invalidate Caches...,勾选Clear file system cache and local history后点击Invalidate and Restart。

  • 排查依赖与资源冲突

    • 用./gradlew app:dependencies打印依赖树,检查是否有重复依赖的库,这类库可能会带来同名资源冲突
    • 如果发现冲突,通过exclude语法排除重复模块,或者调整依赖版本
  • 调整AGP版本
    这个异常常和Android Gradle Plugin版本兼容性有关,尝试降级或升级AGP版本(修改项目根目录的build.gradle或settings.gradle中的AGP版本号),注意要和当前Gradle版本保持官方兼容。

  • 检查资源文件编码
    确保所有values.xml都是UTF-8编码,在Android Studio的File -> Settings -> Editor -> File Encodings中统一设置编码格式,避免因编码问题导致解析失败。

  • 禁用第三方插件排查
    如果项目用了自定义Gradle插件、特殊的资源压缩配置,暂时禁用这些插件后重新构建,逐步定位是否是插件导致的资源解析异常。

如果以上方法无效,重点看堆栈日志里的具体行号信息,通常日志会指向出错的具体资源文件和行,根据这个精准定位错误项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:49:49