解决 Android 构建中 Kotlin 标准库类重复冲突问题

雨宇君_2693

雨宇君_2693

2026-07-31

695人浏览

原创

解决 Android 构建中 Kotlin 标准库类重复冲突问题

本文介绍如何解决因 android 库版本不兼容导致的 kotlin 标准库类重复(duplicate classes)错误,核心方案是降级 androidx.fragment 至 1.5.7 版本以规避 kotlin-stdlib 与 kotlin-stdlib-jdk8 的版本冲突。

本文介绍如何解决因 android 库版本不兼容导致的 kotlin 标准库类重复(duplicate classes)错误,核心方案是降级 androidx.fragment 至 1.5.7 版本以规避 kotlin-stdlib 与 kotlin-stdlib-jdk8 的版本冲突。

在使用 Gradle 8.1.1、Android Gradle Plugin 8.0.2 及 targetSdk 33 的现代 Android 项目中,即使应用本身为纯 Java 编写,仍可能因第三方依赖间接引入多个 Kotlin 标准库变体(如 kotlin-stdlib:1.8.20 和 kotlin-stdlib-jdk8:1.6.21),从而触发构建失败:

Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules kotlin-stdlib-1.8.20.jar (org.jetbrains.kotlin:kotlin-stdlib:1.8.20) and kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21)

该错误本质是传递性依赖版本不一致:androidx.fragment:fragment:1.6.0 内部依赖了较新版本的 Kotlin 生态组件(如 kotlin-stdlib:1.8.20),而另一依赖(或旧版插件/库)又拉入了 kotlin-stdlib-jdk8:1.6.21 ——二者存在 API 重叠且无法共存。

✅ 根本解决方案:将 androidx.fragment:fragment 从 1.6.0 降级至 1.5.7:

Android Adb
Android Adb

执行 Android ADB(Android 调试桥)命令,用于设备管理、应用管理、调试和自动化。当用户请求任何与 ADB 相关的操作时使用。

下载
// build.gradle (Module level)
dependencies {
    // 替换前(引发冲突)
    // implementation 'androidx.fragment:fragment:1.6.0'

    // 替换后(已验证兼容)
    implementation 'androidx.fragment:fragment:1.5.7'

    implementation 'androidx.documentfile:documentfile:1.0.1'
}

⚠️ 注意事项:

  • 1.5.7 是 fragment 1.5.x 系列的最终稳定版,完全兼容 Android 13(API 33)及 Java 8+,功能完整性无损;
  • 不建议使用 exclude 强制排除 kotlin-stdlib-jdk8,因其可能破坏 documentfile 等库的 JDK8 扩展方法(如 Files.walk() 封装);
  • 若后续需升级 fragment,请同步确认其 Release Notes 中关于 Kotlin 版本对齐的说明(推荐等待 1.7.0+ 并搭配 Kotlin 1.9+ 工具链);
  • 可通过 ./gradlew app:dependencies --configuration releaseRuntimeClasspath 检查实际解析的依赖树,验证冲突是否消除。

该方案简洁、安全、可复现,无需修改 Kotlin 版本或启用实验性 Gradle 功能,是当前 AGP 8.0+ 环境下处理此类跨版本 stdlib 冲突的推荐实践。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

android 标准库

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Kotlin协程编程与Spring Boot集成实践
Kotlin协程编程与Spring Boot集成实践

本专题围绕 Kotlin 协程机制展开,深入讲解挂起函数、协程作用域、结构化并发与异常处理机制,并结合 Spring Boot 展示协程在后端开发中的实际应用。内容涵盖异步接口设计、数据库调用优化、线程资源管理以及性能调优策略,帮助开发者构建更加简洁高效的 Kotlin 后端服务架构。

2026.02.12

351

18

Java Kotlin协程与异步编程实战
Java Kotlin协程与异步编程实战

本专题围绕 Kotlin 协程与异步编程展开,讲解挂起函数、协程作用域、异步任务调度及并发控制方法。通过实际项目案例,帮助开发者提升后端服务性能,实现高效异步任务处理与稳定性保障。

2026.04.13

159

16

Kotlin Android开发教程大全
Kotlin Android开发教程大全

系统讲解 Google 官方推荐的 Android 开发首选语言 Kotlin 的核心知识与工程实践,涵盖 Kotlin 简洁语法(空安全/数据类/扩展函数/解构声明/作用域函数)与 Java 互操作、集合操作与函数式编程、协程(Coroutines)异步编程(suspend/launch/async/Flow)、Jetpack Compose 声明式 UI 开发(状态管理/组合函数/导航/动画)、MVVM / MVI 架构设计与 Vi

2026.06.03

248

19

android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

2023.08.14

902

4

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.22

2607

5

android权限限制怎么解开
android权限限制怎么解开

android权限限制可以使用Root权限、第三方权限管理应用程序、ADB命令和Xposed框架解开。详细介绍:1、Root权限,通过获取Root权限,用户可以解锁所有权限,并对系统进行自定义和修改;2、第三方权限管理应用程序,用户可以轻松地控制和管理应用程序的权限;3、ADB命令,用户可以在设备上执行各种操作,包括解锁权限;4、Xposed框架,用户可以在不修改系统文件的情况下修改应用程序的行为和权限。

2023.09.19

4917

7

android重启应用的方法有哪些
android重启应用的方法有哪些

android重启应用有通过Intent、PendingIntent、系统服务、Runtime等方法。本专题为大家提供Android相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

625

5

Android语音播放功能实现方法
Android语音播放功能实现方法

实现方法有使用MediaPlayer实现、使用SoundPool实现两种。可以根据具体的需求选择适合的方法进行实现。想了解更多语音播放的相关内容,可以阅读本专题下面的文章。

2024.03.01

944

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 44.1万人学习

Java 教程
Java 教程

共578课时 | 190.6万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 9.5万人学习