AGP 8.13.0中META-INF/LICENSE.md文件冲突问题求助
解决AGP 8.13.0中META-INF/LICENSE.md文件冲突问题
在AGP 8.0及以上版本中,packagingOptions已被废弃,官方推荐使用**packaging块**配置资源打包规则。你遇到IDE标记packaging块为未知的问题,大概率是语法写法不正确,以下是正确的解决配置:
方案一:直接排除重复的LICENSE.md文件
在模块的build.gradle(Groovy)或build.gradle.kts(Kotlin DSL)的android节点下添加对应配置:
Groovy语法(build.gradle)
android { // 其他项目配置... packaging { resources { excludes += "META-INF/LICENSE.md" } } }
Kotlin DSL语法(build.gradle.kts)
android { // 其他项目配置... packaging { resources { excludes += "META-INF/LICENSE.md" } } }
该配置会过滤所有依赖包中的META-INF/LICENSE.md文件,从根源避免重复冲突。
方案二:指定重复文件的处理策略
如果不想完全排除文件,可通过策略定义重复文件的保留规则:
Groovy语法
android { // 其他项目配置... packaging { resources { // 可选值:EXCLUDE(排除)、FIRST(保留第一个)、LAST(保留最后一个)、INCLUDE(允许重复) duplicatesStrategy = DuplicatesStrategy.FIRST } } }
Kotlin DSL语法
android { // 其他项目配置... packaging { resources { duplicatesStrategy = DuplicatesStrategy.FIRST } } }
额外排查点
- 确认Gradle版本与AGP 8.13.0兼容(AGP 8.13.0要求Gradle 8.9及以上),版本不匹配可能导致语法识别异常。
- 若IDE仍标记
packaging块为未知,尝试点击右上角「Sync Project with Gradle Files」同步项目,或清理IDE缓存后重启。
内容的提问来源于stack exchange,提问作者Tugba




