Android Studio报Failed to compile values file值重复定义如何解决
Android Studio
Failed to compile values file 重复定义报错修复方案 这个报错的核心原因是Android项目构建过程中资源合并阶段,出现了同名的values类资源(包括字符串、颜色、尺寸、样式等),多个来源的定义发生了冲突。可按照以下步骤排查修复:
- 先定位重复资源名称:从报错日志中提取出提示已被定义的资源ID,比如日志里明确标出的
<string name="xxx">这类的xxx就是重复的资源名 - 排查项目内重复定义:全局搜索整个项目(快捷键双击Shift 或 Ctrl+Shift+F)对应的资源名,检查是否在多个values文件(比如多语言适配文件、不同module的values文件、不同构建变体的values文件)中重复定义了同一个资源,删掉冗余的定义即可;如果是多module场景下需要保留各自的定义,给子module的所有资源统一加专属前缀,比如子module叫pay,所有资源都加pay_前缀,避免和主module冲突
- 排查第三方依赖冲突:如果全局搜索没找到项目内的定义,说明冲突来自引入的第三方依赖(aar、远程依赖包),可以修改自己项目内的重名资源名规避冲突;也可以给整个项目的资源配置统一前缀,在module的build.gradle中添加配置:
android { resourcePrefix "myapp_" }
配置后所有新增资源都会自动带此前缀,能从根源避免这类冲突
- 清理缓存排查假报错:如果确认没有重复定义,大概率是IDE构建缓存异常导致的误报,依次尝试以下操作:
- 点击顶部菜单栏
Build -> Clean Project,完成后再点Build -> Rebuild Project - 若上一步无效,点击顶部菜单栏
File -> Invalidate Caches...,勾选清空本地缓存后重启Android Studio即可
- 点击顶部菜单栏
小提示:完整的构建报错日志里会明确标注两个重复资源分别对应的文件路径,顺着路径可以快速定位冲突来源,不用盲目全局搜索。
内容的提问来源于stack exchange,提问作者Sloobot
相关产品推荐
相关产品推荐

