You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter项目升级Gradle 7.5.1遇Unsupported class file major version 64错误

解决Flutter集成AWS时Gradle的Unsupported class file major version 64报错

报错核心原因

Unsupported class file major version 64 对应JDK 19的类文件版本。Gradle 7.5.1仅支持JDK 8-17,即便你降级了JDK,仍可能存在环境变量未更新、IDE配置未同步,或是VS Code的redhat.java插件仍调用旧JDK的情况,导致版本不匹配报错。

解决方案

1. 锁定Gradle与JDK的匹配版本

严格遵循官方对应关系:

  • Gradle 7.4.x → JDK 8-11
  • Gradle 7.5.x → JDK 8-17
    建议将JDK切换到17,同时保留Gradle 7.5.1,或降级Gradle到7.4.2搭配JDK 11。

2. 统一全环境JDK配置

  • 系统环境变量:修改JAVA_HOME指向目标JDK路径,确保PATH优先级最高的是该JDK的bin目录,执行java -version验证生效。
  • Android Studio:
    1. 打开File > Project Structure > SDK Location,设置JDK location为目标JDK。
    2. 进入Settings > Build, Execution, Deployment > Build Tools > Gradle,选择Gradle JDK为同一JDK。
  • VS Code:
    1. 打开设置(Ctrl+,),搜索java.home,设置为目标JDK路径。
    2. 搜索gradle.java.home,确保配置与java.home一致。

3. 清理缓存并重建项目

  • 删除项目根目录的.gradle文件夹,以及Android模块下的.gradle和build文件夹。
  • 执行命令:
    flutter clean
    flutter pub get
    
  • 重启IDE后重新运行项目。

4. 修复第三方插件初始化脚本问题

报错涉及redhat.java插件的初始化脚本,可尝试:

  • 更新redhat.java插件到最新版本,修复旧版本的JDK兼容bug。
  • 暂时禁用该插件,验证是否为插件导致的JDK调用冲突。

原始报错信息

The supplied phased action failed with an exception.
Could not open init generic class cache for initialization script 'C:...\User\globalStorage\redhat.java\1.18.0\config_win\org.eclipse.osgi\53\0.cp\gradle\init\init.gradle'.
BUG! exception in phase 'semantic analysis' in source unit 'BuildScript' Unsupported class file major version 64

报错信息翻译

提供的阶段操作执行失败,抛出异常。
无法打开初始化脚本'C:...\User\globalStorage\redhat.java\1.18.0\config_win\org.eclipse.osgi\53\0.cp\gradle\init\init.gradle'的通用初始化类缓存。
错误!在源单元'BuildScript'的语义分析阶段发生异常:不支持的类文件主版本64

内容的提问来源于stack exchange,提问作者CornealWave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 06:10:32