Android Studio导入项目Gradle构建报错:文件名必须以.xml结尾
解决Android Studio构建报错“Error: The file name must end with .xml”(PNG文件被拒绝)
我来帮你排查这个反常的问题——正常情况下Android资源目录完全允许PNG文件,你遇到的报错确实有点奇怪,咱们一步步来定位解决:
先确认文件的真实扩展名:有时候系统会隐藏文件扩展名,看起来是
xxx.png,实际可能是xxx.png.txt,或者文件名末尾不小心加了空格。你可以在文件管理器里开启「显示文件扩展名」选项,仔细检查这个PNG的文件名,确保没有多余的后缀或字符。检查文件存放的目录是否正确:如果你的PNG被误放到了
res/xml目录下,Gradle就会强制要求文件必须是.xml格式。确认文件是放在res/drawable、res/mipmap这类专门存放图片资源的目录里,而不是xml、layout这类非图片资源目录。排查Gradle的自定义资源规则:看看模块的
build.gradle(或build.gradle.kts)文件里,有没有添加过限制资源类型的配置。比如类似这样的规则会过滤掉非xml文件:android { sourceSets { main { res { include '**/*.xml' } } } }如果有这类配置,记得添加对
.png的支持,或者移除不必要的过滤规则。清理缓存并重建项目:缓存错乱也可能导致这种莫名其妙的报错,试试这几步:
- 点击Android Studio顶部菜单栏的
Build→Clean Project - 接着执行
Build→Rebuild Project - 也可以手动删除项目根目录下的
.gradle文件夹和模块下的build文件夹,然后点击右上角的「Sync Project with Gradle Files」重新同步
- 点击Android Studio顶部菜单栏的
验证文件完整性:有可能是Git克隆过程中文件损坏了,你可以让朋友重新推送一次这个PNG文件,或者直接从GitHub网页端下载该文件替换到本地目录,再尝试构建。
内容的提问来源于stack exchange,提问作者Garlic Xu




