添加share_plus依赖后Flutter项目编译报错:Kotlin类重复冲突
我之前也碰到过完全一样的问题!这是Kotlin标准库版本冲突导致的——你的项目里同时引入了两个不同版本的Kotlin标准库(1.8.10的kotlin-stdlib和1.7.10的kotlin-stdlib-jdk8),它们包含重复的类,所以Gradle编译时直接报错了。你之前做的clean、pub get或者删除.gradle只是清理了缓存,没从根源解决版本冲突的问题,试试下面的方法:
方法一:强制统一项目的Kotlin版本(最推荐)
打开项目根目录下的android/build.gradle文件,找到buildscript块里的ext.kotlin_version,把它改成报错里出现的较高版本(也就是1.8.10),确保整个项目的Kotlin版本统一:
buildscript { ext.kotlin_version = '1.8.10' // 统一为报错中出现的高版本 repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.4.2" // gradle版本可根据项目实际情况调整,保证与Kotlin版本兼容即可 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
方法二:排除冲突的依赖包
如果方法一没生效,你可以直接在app模块的gradle文件里排除掉冲突的旧版本依赖。打开android/app/build.gradle,在dependencies块里添加排除规则:
dependencies { // 先声明统一的Kotlin标准库 implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" // 针对share_plus排除旧版本的冲突依赖 implementation('dev.fluttercommunity:share_plus:7.1.0') { // 替换成你实际使用的share_plus版本 exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8' } }
最后执行这些收尾操作
改完gradle文件后,按顺序执行以下命令:
flutter cleanflutter pub get- 重新运行你的项目
这样应该就能解决这个重复类的编译错误了。
备注:内容来源于stack exchange,提问作者Mohmaed_Sadeck
相关产品推荐
相关产品推荐

