当前位置: 首页 > news >正文

flutter_tools/gradle Unsupported class file major version 65 问题解决

1.问题定位 

 使用 命令 flutter doctor --verbose  

 可以查看当前项目中,使用的java的版本。

[✓] Android Studio (version 2024.2)• Android Studio at /Applications/Android Studio.app/Contents• Flutter plugin can be installed from:🔨 https://plugins.jetbrains.com/plugin/9212-flutter• Dart plugin can be installed from:🔨 https://plugins.jetbrains.com/plugin/6351-dart• Java version OpenJDK Runtime Environment (build 21.0.4+-12422083-b607.1)

2.问题解决

在 Flutter 项目中,使用的 Java 版本默认与 Android Studio 环境相关联。根据你的输出,Java 二进制路径指向:

/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java 

这表明你的项目当前正在使用 Android Studio 内置的 JDK,而不是手动安装的系统 JDK。因此,Java 版本由 Android Studio 配置决定。如果需要更改 Java 版本,必须调整 Android Studio 或 Gradle 环境的配置。以下详细说明项目中的配置影响点:

一、默认使用的是 Android Studio 的内置 JDK

Flutter 默认使用 Android Studio 自带的 JDK,这是出于简化开发环境的考虑。内置的 JDK 位置是:

/Applications/Android Studio.app/Contents/jbr/ 

你可以手动更改项目的 GradleFlutter 配置,指定使用其他版本的 JDK。


二、影响项目中 Java 版本的配置点

1. local.properties 文件

在 Flutter 项目的 android/local.properties 文件中,你可以配置 Android SDK 和 Gradle 的路径。如果你需要更改项目的 JDK 版本,可以手动在这里添加一行,明确指定 JDK 的路径。

路径:<项目根目录>/android/local.properties

添加内容:

org.gradle.java.home=/path/to/your/jdk17 

/path/to/your/jdk17 替换成正确的 JDK 安装路径。例如:

org.gradle.java.home=/Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home 

如果你的 local.properties 文件中没有手动指定 JDK,默认会使用 Android Studio 的内置 JDK。


2. gradle-wrapper.properties 文件

Gradle 使用的版本与 Java 环境直接相关。你可以检查并修改 android/gradle/wrapper/gradle-wrapper.properties 文件中的配置,确保 Gradle 的版本与 Java 版本兼容。

路径:<项目根目录>/android/gradle/wrapper/gradle-wrapper.properties

检查内容:

 

distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip

  • 对于 Java 17,建议使用 Gradle 7.x 系列(如 gradle-7.6-all.zip)。
  • 对于 Java 21,必须使用更高版本的 Gradle,例如 Gradle 8.2 或更高

如果 Gradle 的版本过低,会导致与 Java 21 不兼容的问题。


3. Android Studio 的 Gradle JDK 设置

项目中使用的 Java 版本也依赖 Android Studio 中的 JDK 配置。这是全局设置,会影响该 Studio 下的所有项目。

4.如果是个性化配置 

   将本地个性化配置放在 ~/.gradle/gradle.properties

http://www.lryc.cn/news/534676.html

相关文章:

  • C++设计模式 - 模板模式
  • mysql查缺补漏
  • 跨越边界,大模型如何助推科技与社会的完美结合?
  • 哪吒闹海!SCI算法+分解组合+四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测
  • 前端【技术方案】浏览器兼容问题(含解决方案、CSS Hacks、条件注释、特性检测、Polyfill 等)
  • 荣耀手机Magic3系列、Magic4系列、Magic5系列、Magic6系列、Magic7系列详情对比以及最新二手价格预测
  • 后盾人JS -- 模块化开发
  • CNN卷积神经网络多变量多步预测,光伏功率预测(Matlab完整源码和数据)
  • 深入 JVM 虚拟机:字符串常量池演变与 intern() 方法工作原理解析
  • 单向/双向,单层/多层RNN输入输出维度问题
  • chromium-mojo
  • ZooKeeper 的典型应用场景:从概念到实践
  • 缓存组件<keep-alive>
  • YouBIP 项目
  • react概览webpack基础
  • DeepSeek 助力 Vue 开发:打造丝滑的步骤条
  • STM32的HAL库开发---高级定时器---互补输出带死区实验
  • Vue07
  • 【CXX-Qt】2 CXX-Qt #[cxx_qt::bridge] 宏指南
  • 鸿蒙接入支付宝SDK后模拟器无法运行,报错error: install parse native so failed.
  • 局域网使用Ollama(Linux)
  • Deepseek系列从v3到R易背面经版
  • Redis深入学习
  • 《从入门到精通:蓝桥杯编程大赛知识点全攻略》(十一)-回文日期、移动距离、日期问题
  • 在Uniapp中使用阿里云OSS插件实现文件上传
  • 9 数据流图
  • IDEA查看项目依赖包及其版本
  • 【数据结构】_栈与队列经典算法OJ:栈与队列的互相实现
  • SAP-ABAP:ROLLBACK WORK使用详解
  • DeepSeek R1 Distill Llama 70B(免费版)API使用详解