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

Flutter执行build apk时Kotlin runtime JAR版本不兼容如何解决?

问题根因

你添加的workmanager依赖内部默认依赖了1.3.50版本的kotlin标准库,加上之前的gradle配置错误,将kotlin标准库引入到了构建脚本的classpath中,没有做版本锁定,导致构建时同时拉取了两个版本的kotlin依赖,即便删除workmanager后,本地gradle缓存中依然残留旧版本依赖,所以问题持续存在。

解决方案
  • 第一步:清理所有缓存
    先在项目根目录执行flutter clean,再进入项目的android目录,执行gradlew clean,如果依旧报错可以手动删除C:\Users\用户名\.gradle\caches目录下的所有缓存文件,彻底清除旧版本依赖残留。
  • 第二步:修正android/build.gradle配置
    你当前的配置存在两处错误:
    1. 重复声明了classpath 'com.android.tools.build:gradle:4.2.1',删除其中一行重复配置
    2. 不该在buildscript的dependencies中引入kotlin-stdlib系列依赖,正确应该引入kotlin gradle插件,修改后的dependencies块如下:
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
    
  • 第三步:全局强制锁定kotlin依赖版本
    在android/build.gradle的allprojects块中添加版本强制规则,覆盖所有第三方依赖的kotlin版本要求,完整配置如下:
    allprojects {
        repositories {
            google()
            jcenter()
        }
        // 新增以下版本锁定配置
        configurations.all {
            resolutionStrategy {
                force "org.jetbrains.kotlin:kotlin-stdlib:1.5.10"
                force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.10"
                force "org.jetbrains.kotlin:kotlin-stdlib-common:1.5.10"
            }
        }
    }
    
  • 第四步:简化app/build.gradle依赖
    删除app/build.gradle中手动添加的三个kotlin-stdlib系列implementation依赖,全局强制规则会自动引入统一版本的依赖,避免重复声明冲突。
  • 第五步:重新构建
    回到项目根目录执行flutter pub get,再执行flutter build apk即可正常构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:09:01