应用构建失败:存在重复的kotlin/internal/internal.kotlin_builtins文件
解决Android构建时重复文件冲突问题
问题原因
你遇到的mergeDebugJavaResource任务失败,是因为kotlin-compiler-embeddable:1.5.31和kotlin-stdlib:1.6.0两个依赖包中存在相同路径的文件kotlin/internal/internal.kotlin_builtins,构建时无法合并重复文件导致报错。
解决步骤
方法1:配置packagingOptions排除/选择重复文件
找到你的app模块下的build.gradle(Groovy语法)或build.gradle.kts(Kotlin语法)文件,在android代码块中添加packagingOptions配置:
Groovy语法示例:
android { // 保留你原本的compileSdk、defaultConfig、buildTypes等配置 packagingOptions { // 直接排除重复的文件(推荐,因为该内置文件不影响应用运行) exclude 'kotlin/internal/internal.kotlin_builtins' // 或者指定保留其中一个版本的文件,比如保留stdlib的 // pickFirst 'kotlin/internal/internal.kotlin_builtins' } }
Kotlin DSL语法示例:
android { // 保留你原本的compileSdk、defaultConfig、buildTypes等配置 packagingOptions { exclude("kotlin/internal/internal.kotlin_builtins") // 或者 pickFirst("kotlin/internal/internal.kotlin_builtins") } }
方法2:统一Kotlin依赖版本(从根源解决)
如果排除文件后仍有其他冲突,建议将所有Kotlin相关依赖统一为同一个版本。比如把kotlin-compiler-embeddable也升级到1.6.0,确保和kotlin-stdlib版本一致,这样就不会出现跨版本的文件重复问题。
内容的提问来源于stack exchange,提问作者Silly goose 1
相关产品推荐
相关产品推荐

