Flutter应用Kotlin版本兼容问题求助:多方案尝试仍未解决
Running Gradle task 'assembleDebug'... 35.5s
[!] Your project requires a newer version of the Kotlin Gradle plugin.
提示需更新C:\Users\mohammed isham\rental_app\android\settings.gradle中org.jetbrains.kotlin.android插件版本,或(Flutter 3.19前创建的项目)更新build.gradle中的ext.kotlin_version。
已尝试的解决方案
- 更新Kotlin版本至1.7.0(修改
build.gradle和settings.gradle) - 配置Gradle:将
gradle-wrapper.properties中的Gradle wrapper更新至gradle-8.0.2,确保Android Gradle插件版本兼容 - 更新依赖:修改
pubspec.yaml中的依赖,执行flutter pub upgrade和flutter pub get - Android Studio中配置Java:验证JDK版本11+,设置JDK路径、配置JAVA_HOME环境变量,重启并清除缓存
- 清理并重建项目:执行
flutter clean和flutter build apk --release
已尝试升级至最新Kotlin版本,问题仍未解决。
额外排查与解决步骤
严格匹配Kotlin与AGP版本
不同Android Gradle插件(AGP)版本对应固定的Kotlin版本范围,示例对应关系:- AGP 7.4.x → Kotlin 1.8.0+
- AGP 8.0.x → Kotlin 1.8.20+
- AGP 8.1.x → Kotlin 1.8.22+
先查看android/build.gradle中com.android.tools.build:gradle的版本,再匹配对应Kotlin版本,避免盲目升级。
规范settings.gradle插件声明
Flutter 3.19及之后的项目,插件需在settings.gradle的plugins块中声明,确保格式正确且无版本冲突:plugins { id "dev.flutter.flutter-gradle-plugin" version "x.x.x" apply false id "org.jetbrains.kotlin.android" version "1.8.22" apply false }此情况下需删除
build.gradle中的ext.kotlin_version声明,避免重复定义。排查第三方依赖Kotlin版本冲突
部分Flutter插件可能内置旧版Kotlin插件,导致版本冲突。在项目android目录下执行./gradlew androidDependencies查看依赖树,找到强制指定旧版本的插件:- 优先升级该插件至最新版本
- 若无法升级,在
android/build.gradle中强制统一Kotlin版本:subprojects { project.configurations.all { resolutionStrategy.eachDependency { details -> if (details.requested.group == 'org.jetbrains.kotlin') { details.useVersion '1.8.22' // 替换为兼容的目标版本 } } } }
彻底清理Gradle缓存
除flutter clean外,手动删除以下目录后重试构建:- 项目根目录下的
.gradle文件夹 android/.gradle文件夹android/build文件夹
- 项目根目录下的
验证Flutter SDK兼容性
确保Flutter SDK版本与Kotlin、AGP版本匹配,比如Flutter 3.19+建议搭配AGP 8.0+和Kotlin 1.8.20+,可执行flutter upgrade升级至稳定版后再尝试构建。
内容的提问来源于stack exchange,提问作者Isham

