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

Flutter升级后Android Gradle插件与Kotlin版本兼容问题求助

问题:Flutter升级后Android构建因Kotlin版本冲突失败

项目背景

  • Flutter版本:从3.7.10升级至3.19.0
  • 支持Android、iOS双平台
  • 已同步更新pubspec依赖

pubspec.yaml依赖配置

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  flutter_svg: ^2.0.10+1
  provider: ^6.0.5
  qr_flutter: ^4.1.0
  polygon: ^0.1.0
  http: ^1.1.0
  shared_preferences: ^2.2.1
  url_launcher: ^6.1.14
  intl: ^0.18.1
  collection: ^1.17.2
  add_2_calendar: ^3.0.1
  text_scroll: ^0.2.0
  ory_client: ^1.2.11
  webview_flutter: ^4.7.0
  get_it: ^7.6.7
  injectable: ^2.3.2
  dio: ^5.3.3
  one_of: ^1.5.0
  flutter_web_auth: ^0.5.0
  flutter_libphonenumber: ^2.1.5
  flutter_widget_from_html: ^0.14.11

dev_dependencies:
  flutter_test:
    sdk: flutter
  injectable_generator: ^2.4.1
  build_runner: ^2.4.6
  flutter_lints: ^3.0.1

项目根目录build.gradle配置

buildscript {
    ext.kotlin_version = '1.7.21'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:8.1.4'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }

    subprojects {
        afterEvaluate { project ->
            if (project.hasProperty('android')) {
                project.android {
                    if (namespace == null) {
                        namespace project.group
                    }
                }
            }
        }
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

构建错误信息

* What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':wakelock' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s
Error: Gradle task assembleDebug failed with exit code 1

已尝试操作与疑问

  • 排查wakelock依赖,其自身gradle文件显示ext.kotlin_version = '1.6.10'
  • 全局搜索所有ext.kotlin_version,结果均高于1.3.50
  • 已执行flutter clean、flutter pub get
  • 参考相关方案后仍无法解决,询问问题根源

解决方案

1. 强制统一子项目Kotlin版本

在根目录build.gradle的subprojects代码块中添加强制Kotlin版本的配置,覆盖所有依赖的Kotlin插件版本:

subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            project.android {
                if (namespace == null) {
                    namespace project.group
                }
            }
            // 强制设置所有子项目的Kotlin版本为根项目指定的版本
            project.plugins.withType(org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper) {
                project.ext['kotlin.version'] = rootProject.ext.kotlin_version
            }
        }
    }
}

2. 定位并升级旧版本wakelock

执行命令查看完整依赖树,找到引入旧版wakelock的依赖:

flutter pub deps --tree

找到后,在pubspec.yaml中通过dependency_overrides强制升级wakelock至最新兼容版本:

dependency_overrides:
  wakelock: ^0.6.2  # 替换为当前最新稳定版本

3. 彻底清理后重新构建

执行以下命令清除缓存并重新构建:

flutter clean
rm -rf android/.gradle
flutter pub get
flutter run

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:07:34