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

如何从Gradle sourceSet中彻底排除Android项目res目录下的OWNERS文件?

问题原因与解决方案

为什么你的exclude指令没生效?

你配置的sourceSets.main.resources是针对Java标准资源文件的(比如src/main/resources下的文件),但res目录下的文件是由Android Gradle插件单独处理的Android资源,二者属于完全独立的处理通道,所以给Java资源设置的排除规则,对Android资源目录里的OWNERS文件完全不起作用。

正确的排除配置

直接在Android插件的配置块里,针对res目录设置专属的排除规则:

方法一:在sourceSets的res节点下配置

android {
    // 保留你原有的其他Android配置(compileSdk、defaultConfig等)
    sourceSets {
        main {
            res {
                exclude '**/OWNERS'
            }
        }
    }
}

方法二:更简洁的全局资源排除

android {
    resources {
        excludes += ['**/OWNERS']
    }
}

这两种配置都会让Android Gradle插件在扫描res目录时忽略所有名为OWNERS的文件,既不会编译它,也不会再报命名不合法的错误,同时文件能保留在原位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:27:18