You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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/drawableres/mipmap这类专门存放图片资源的目录里,而不是xmllayout这类非图片资源目录。

  • 排查Gradle的自定义资源规则:看看模块的build.gradle(或build.gradle.kts)文件里,有没有添加过限制资源类型的配置。比如类似这样的规则会过滤掉非xml文件:

    android {
        sourceSets {
            main {
                res {
                    include '**/*.xml'
                }
            }
        }
    }
    

    如果有这类配置,记得添加对.png的支持,或者移除不必要的过滤规则。

  • 清理缓存并重建项目:缓存错乱也可能导致这种莫名其妙的报错,试试这几步:

    • 点击Android Studio顶部菜单栏的BuildClean Project
    • 接着执行BuildRebuild Project
    • 也可以手动删除项目根目录下的.gradle文件夹和模块下的build文件夹,然后点击右上角的「Sync Project with Gradle Files」重新同步
  • 验证文件完整性:有可能是Git克隆过程中文件损坏了,你可以让朋友重新推送一次这个PNG文件,或者直接从GitHub网页端下载该文件替换到本地目录,再尝试构建。

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

火山引擎 最新活动