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

Flutter构建报错:Unsupported class file major version 65及JDK版本不匹配

解决Flutter构建错误:Unsupported class file major version 65及相关问题

疑问1:JDK版本不匹配是否是根本原因?

是的,这就是核心问题。Unsupported class file major version 65 对应JDK 21的类文件版本,而你的运行环境用的是JDK 18。Android Studio内置的JBR 21.0.3会以JDK21标准编译flutter_plugin_android_lifecycle等插件代码,生成的类文件版本超出JDK18的识别范围,直接导致generateDebugUnitTestConfig这类任务失败。

额外补充:你的Gradle版本是7.5,它本身不支持JDK21(Gradle 7.x系列最高兼容到JDK17),这进一步加剧了版本冲突。

疑问2:是否需要移动项目目录?

不需要移动项目目录,这不是最优解。项目构建目录与插件缓存目录路径不一致的问题,本质是Gradle缓存和当前JDK/Gradle版本不兼容引发的异常,只要解决核心的JDK版本匹配问题,这个路径报错会随之消失。

疑问3:如何让Android工具链使用指定的JDK 18.0.2.1?

可以通过3种方式强制指定JDK:

  1. Android Studio项目级配置
    打开Android Studio → 点击File → Project Structure → 选择SDK Location → 在JDK location处选择你手动安装的JDK 18.0.2.1路径,点击OK保存。
  2. Gradle全局配置
    在项目根目录的gradle.properties文件中添加:
    org.gradle.java.home=/path/to/your/jdk18.0.2.1
    
    替换为本地JDK实际路径(Windows用双反斜杠\\,Linux/macOS用正斜杠/)。
  3. Flutter工具链配置
    终端执行命令强制Flutter切换JDK:
    flutter config --android-jdk /path/to/your/jdk18.0.2.1
    
    执行后运行flutter doctor -v,确认Android工具链已切换到JDK18。

疑问4:彻底解决问题的完整步骤

按以下顺序操作,确保解决所有冲突:

  1. 确认版本兼容性
    你的Gradle版本是7.5,建议优先用JDK 11或17(LTS版本更稳定),如果坚持用JDK18也可,但必须保证后续所有配置统一用该版本。
  2. 统一JDK配置
    按照疑问3的方法,同时配置Android Studio、Gradle和Flutter工具链使用同一JDK版本(18.0.2.1)。
  3. 清理缓存
    执行命令清理所有相关缓存:
    # 清理Flutter缓存
    flutter clean
    # 清理Gradle缓存
    cd android
    ./gradlew cleanBuildCache
    
  4. 重新同步构建
    返回Android Studio,点击File → Sync Project with Gradle Files,同步完成后执行flutter run。
  5. 验证配置
    运行flutter doctor -v,确认Android工具链的JDK版本显示为18.0.2.1;同时检查Gradle同步日志,确认无路径不匹配错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 20:40:07