Android Studio无法切换Java版本,Flutter项目Gradle同步失败求助
解决Flutter项目Gradle与Java版本不兼容问题(Mac环境)
问题定位
你的项目Gradle版本为7.6,要求适配Java 18或19,但当前构建环境调用了Java 21.0.3;同时报错中提到的Gradle 7.5,大概率是项目的Gradle Wrapper版本与你预期的7.6不一致,导致版本匹配混乱,仅修改Android Studio全局Java设置无法覆盖项目局部配置。
分步解决方案
1. 为Gradle配置对应版本的Java
- 打开Android Studio,进入
Settings > Build, Execution, Deployment > Build Tools > Gradle - 在
Gradle JDK下拉列表中,选择已安装的Java 18/19版本;如果没有,点击Download JDK选择对应版本完成安装 - 确认后点击
Apply保存设置
2. 统一项目Gradle版本
- 打开项目根目录下的
gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl指向Gradle 7.6:distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip - 打开项目根目录的
build.gradle(项目级配置文件),确保Android Gradle插件版本与Gradle 7.6兼容(推荐使用7.4.2):dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 其他依赖配置... }
3. 配置模块级Java编译版本
- 打开Flutter项目中
android/app/build.gradle文件,在android节点下添加以下配置:
注:这里指定1.8是Flutter的默认要求,Gradle 7.6会使用你配置的JDK 18/19进行编译,两者不存在冲突compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' }
4. 清理缓存并重新同步
- 点击Android Studio顶部菜单
File > Invalidate Caches...,选择Invalidate and Restart - 重启后点击工具栏的
Sync Project with Gradle Files按钮,等待同步完成
5. 验证终端Java版本(可选)
- 打开终端输入
java -version,如果显示为Java 21,需切换到18/19版本:# 若通过brew安装Java,执行以下命令切换 brew switch openjdk 18 # 若使用jenv管理版本,执行 jenv global 18
报错原文:
Your build is currently configured to use incompatible Java 21.0.3 and Gradle 7.5. Cannot sync the project.
内容的提问来源于stack exchange,提问作者Syed Irfan Hussaini
相关产品推荐
相关产品推荐

