flutter_tools/gradle Unsupported class file major version 65 问题解决
如果你需要更改项目的 JDK 版本,可以手动在这里添加一行,明确指定 JDK 的路径。项目中使用的 Java 版本也依赖 Android Studio 中的 JDK 配置。Flutter 默认使用 Android Studio 自带的 JDK,这是出于简化开发环境的考虑。如果 Gradle 的版本过低,会导致与 Java 21 不兼容的问题。文件中的配置,确保 Gradle 的版本与 Java 版
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/
你可以手动更改项目的 Gradle 或 Flutter 配置,指定使用其他版本的 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
更多推荐


所有评论(0)