You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

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
        }
    }
}

额外排查点

  1. 确认Gradle版本与AGP 8.13.0兼容(AGP 8.13.0要求Gradle 8.9及以上),版本不匹配可能导致语法识别异常。
  2. 若IDE仍标记packaging块为未知,尝试点击右上角「Sync Project with Gradle Files」同步项目,或清理IDE缓存后重启。

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

火山引擎 最新活动