VS Code中Flutter项目Android端Gradle构建报错(Java版本提示不符)求助
嗨,我太懂这种明明项目能正常运行,但看着VS Code里的报错提示浑身难受的感觉了!先把你遇到的报错信息贴出来,方便大家一起排查:
Could not run phased build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.5-all.zip'.
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'android'.
A problem occurred configuring root project 'android'.
A problem occurred evaluating root project 'android'.
A problem occurred configuring project ':app'.
Build file
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
你说已经装了Flutter推荐的最新Java版本,但Gradle还是识别成Java 1.8,大概率是VS Code、Gradle配置或者系统环境变量没正确关联到你的高版本Java,咱们一步步来修复:
第一步:确认VS Code使用的Java Runtime
打开VS Code,按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入「Java: Configure Java Runtime」。在弹出的页面切换到「Projects」标签,找到你的Flutter Android项目,看看它对应的Java Runtime是不是11及以上版本。
如果不是,点击「Edit in settings.json」,在配置文件里指定你的高版本Java路径,比如:"java.home": "/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home" // Mac示例 // 或者Windows示例:"java.home": "C:\\Program Files\\Java\\jdk-17"第二步:配置项目根目录的Gradle Java版本
打开项目里的android/build.gradle(注意是android根目录下的,不是app子目录的),找到ext代码块,添加或修改Java版本配置:ext { compileSdkVersion = 33 minSdkVersion = 21 targetSdkVersion = 33 kotlin_version = '1.7.10' javaVersion = JavaVersion.VERSION_11 // 或者VERSION_17,只要是11+就行 }同时确保Gradle插件版本和Java版本适配,比如在
dependencies里用7.4.2及以上的插件:dependencies { classpath "com.android.tools.build:gradle:7.4.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }第三步:配置app模块的编译选项
打开android/app/build.gradle,在android代码块里添加编译参数,强制指定Java版本:android { // 其他已有配置... compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' // Kotlin代码也指定对应JVM版本 } }第四步:清理缓存并刷新Gradle
先在终端执行以下命令,彻底清理项目缓存:flutter clean flutter pub get cd android ./gradlew clean ./gradlew build --refresh-dependencies然后重启VS Code,打开Gradle面板(左侧边栏)点击「Refresh Gradle Project」,等同步完成后看看报错是否消失。
第五步:检查系统环境变量
确认你的JAVA_HOME环境变量指向的是11+版本的Java:- Windows:打开命令提示符,输入
echo %JAVA_HOME%查看路径 - Mac/Linux:打开终端,输入
echo $JAVA_HOME查看路径
如果路径不对,修改环境变量后重启VS Code,让配置生效。
- Windows:打开命令提示符,输入
补充说明:虽然现在项目能跑,但这个报错是Gradle在配置阶段的检测提醒,后续如果要打包、构建复杂任务,可能会因为版本不兼容出问题,所以还是尽早修复比较稳妥~
备注:内容来源于stack exchange,提问作者Handika Djati

