You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装mobile_scanner后出现Kotlin类重复问题求助

Kotlin依赖冲突导致Flutter项目构建失败的解决方法

问题描述

这是我开发的第一个Flutter/Android应用,安装二维码扫描库后项目直接崩溃(即便未实际导入)。最初报错指向compileSdkVersion和minSdkVersion,按照提示将其分别硬编码为34和21后,构建时出现大量Kotlin类重复的错误。两天前项目还能正常运行,但现在原有项目及新建空项目仅导入该库都会触发问题,推测是库的最新更新引发了依赖冲突。已尝试flutter pub upgrade --major-versions、./gradlew clean、更新Flutter等操作,均无效果。

核心错误日志片段:

Execution failed for task ':app:checkDebugDuplicateClasses'.
> Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
...(其余重复类错误)

解决步骤

1. 统一项目Kotlin版本

打开项目根目录下的android/build.gradle文件,将ext.kotlin_version修改为错误日志中出现的较高版本(如1.8.22),确保Gradle插件使用对应版本:

buildscript {
    ext.kotlin_version = '1.8.22'
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.4.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

2. 强制Gradle统一Kotlin依赖

在android/app/build.gradle的android代码块内添加依赖强制策略,确保所有模块使用同一版本的Kotlin标准库:

android {
    // 原有配置项...

    configurations.all {
        resolutionStrategy {
            force 'org.jetbrains.kotlin:kotlin-stdlib:1.8.22'
            force 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22'
            force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
        }
    }
}

3. 彻底清理并重新构建

执行以下命令清理缓存、重新拉取依赖并构建项目:

flutter clean
rm -rf android/.gradle
flutter pub get
./gradlew assembleDebug

4. 降级二维码扫描库版本

若以上方法无效,尝试使用该库的旧稳定版本。修改pubspec.yaml中的依赖配置:

dependencies:
    mobile_scanner: ^3.2.0 # 替换为之前能正常运行的版本号

修改后执行flutter pub get重新拉取依赖。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 19:09:50