Android编译报错:Drawable/ic_btn_round_minus重复定义求助
嘿,这个问题我太熟了!你遇到的是Android资源重复定义的典型错误,咱们一步步解决:
问题根源
你在src/main/res/values/drawables.xml里重复声明了同一个名称的Drawable资源ic_btn_round_minus,就像这段代码显示的:
res/drawable-ldpi-v4/ic_btn_round_minus.png res/drawable-mdpi-v4/ic_btn_round_minus.png
Android的资源系统不允许同一个资源名称出现多次,这就是mergeDebugResources任务失败的直接原因。而且其实你完全没必要这么写——Android本身就支持通过不同密度的drawable文件夹自动适配屏幕,不需要手动在xml里逐个映射。
解决步骤
第一步:删除重复的资源声明
直接把drawables.xml里所有这些重复的<drawable>标签删掉就行,留着反而会搞乱资源索引。第二步:确认资源文件夹结构正确
确保你的图片已经放在对应的密度文件夹下,结构应该是这样的:res/drawable-ldpi/ic_btn_round_minus.pngres/drawable-mdpi/ic_btn_round_minus.png- (如果有hdpi、xhdpi等其他密度的图片,也对应放到各自的文件夹里)
第三步:清理并重建项目
在Android Studio里执行这两个操作:- 点击顶部菜单栏的
Build→Clean Project - 接着点击
Build→Rebuild Project
这一步是为了清除旧的资源缓存,让系统重新生成正确的资源索引。
- 点击顶部菜单栏的
后续引用提示
之后在代码或者布局里引用这个图标时,直接用@drawable/ic_btn_round_minus就可以了,Android会自动根据当前设备的屏幕密度加载对应的图片版本。
内容的提问来源于stack exchange,提问作者klor
相关产品推荐
相关产品推荐

