VS Code中Flutter构建Gradle报错:已用Java 19仍提示需Java 11+
解决Flutter Gradle与Java版本冲突问题
问题本质
Gradle 7.2.0 仅支持 Java 11~17 版本,你当前使用的 Java 19 超出了该版本Gradle的兼容范围,因此即便满足"Java11+"的最低要求,仍会触发报错。
解决方案
以下三种方案任选其一即可:
方案1:降级Java版本到兼容范围
- 使用JDK管理工具(如SDKMAN、jEnv)安装Java 17或11,例如:
sdk install java 17.0.8-tem sdk use java 17.0.8-tem - 若不想切换全局JDK,可在项目的
android/gradle.properties文件中添加指定路径:org.gradle.java.home=/path/to/your/java17
方案2:升级Gradle及AGP版本以支持Java19
- 修改项目根目录
build.gradle中的AGP版本,适配Java19的最低要求(AGP 7.4+):dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 替换原7.2.0版本 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } - 修改
gradle/wrapper/gradle-wrapper.properties中的Gradle发行版地址,匹配AGP版本:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
方案3:临时指定项目编译的Java目标版本
- 在
android/app/build.gradle中添加编译配置,强制使用Java11的编译目标:android { compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' } }
内容的提问来源于stack exchange,提问作者Osama Saleh
相关产品推荐
相关产品推荐

