StackOverflow中有比较详细的解决方案
简而言之:Gradle版本和Java支持版本不一致
例子:
运行命令 flutter analyze --suggestions
如果版本不匹配情况,则最后一行会有类似提示
[✗] Java/Gradle/Android Gradle Plugin: Incompatible Java/Gradle versions. Java Version: 21.0.3, Gradle Version: 7.6.3
通过 AndroidStdio 创建的 Flutter项目,默认 gradle 版本可能是 7.6.3 或其他版本,如果当前 JDK 版本为 21 时,gradle 需要升级版本到 8.5 及以上才能支持
此时需要修改两个地方:
- gradle-wrapper.properties 中的
distributionUrl
配置:
// 修改为 gradle-8.5-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip
- settings.gradle 中的
com.android.application
,也就是 AGP:
// 至少在 8.3.2 版本
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.3.2" apply false
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
}
更多 JDK 与 Gradle 版本的对应关系详见 Compatibility Matrix,根据情况更新不同的版本即可