Flutter引入share_plus后出现Kotlin类重复冲突问题求助
问题分析
从报错信息可知,核心是Kotlin标准库版本不一致:项目同时引入了kotlin-stdlib:1.8.10和旧版本的kotlin-stdlib-jdk7:1.7.10、kotlin-stdlib-jdk8:1.6.0,导致类重复定义。你已验证移除share_plus后问题消失,说明该插件依赖了这些旧版本Kotlin库,与项目默认的高版本产生冲突。
解决方案
按优先级尝试以下方法:
1. 升级share_plus到最新稳定版
旧版本share_plus可能存在依赖适配问题,升级到最新版大概率解决:
- 修改
pubspec.yaml中的share_plus版本:
dependencies: share_plus: ^7.2.1 # 替换为当前最新稳定版,可通过pub.dev确认版本号
- 执行命令更新依赖:
flutter pub get
2. 统一项目的Kotlin版本
在项目android/build.gradle文件中,强制指定所有依赖使用统一的高版本Kotlin:
buildscript { ext.kotlin_version = '1.8.10' // 与报错中的最高Kotlin版本保持一致 repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.3.0" // 确保gradle版本与Kotlin版本兼容 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
3. 强制所有依赖使用统一的Kotlin标准库版本
若前两种方法无效,在android/app/build.gradle中添加版本强制策略:
configurations.all { resolutionStrategy { force 'org.jetbrains.kotlin:kotlin-stdlib:1.8.10' force 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.10' force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10' } }
验证修复
执行以下命令清理并重新构建项目:
flutter clean flutter pub get flutter run
内容的提问来源于stack exchange,提问作者Sunnat Amirov
相关产品推荐
相关产品推荐

