

gradlew --version 输出结果,Gradle 的 Launcher JVM 已正确使用 Java 24(24.0.1),但 Daemon JVM 显示的路径为:
1. 确认 Gradle Daemon 使用的 Java 版本
方法一:通过 --info 查看构建日志
运行以下命令查看 Gradle 实际使用的 Java 版本:
在输出日志中搜索 Starting process 'Gradle Worker',你会看到类似内容:
如果这里显示的是 Java 8 的路径,说明 Gradle Daemon 仍在使用旧版本。
2. 强制 Gradle 使用 Java 24
方法一:在 gradle.properties 中指定 org.gradle.java.home
在 Flutter 项目的 android/gradle.properties 文件中添加以下内容(替换为你的 JDK 24 安装路径):
注意:路径中的反斜杠
\需要转义为\\,或使用正斜杠/:
方法二:在命令行中临时指定
你也可以在构建时通过参数指定 Java 版本:
3. 检查环境变量 JAVA_HOME 和 PATH
检查当前默认 Java 版本
确保 JAVA_HOME 指向 JDK 24
在 Windows 系统中:
- 打开 系统属性 → 高级系统设置 → 环境变量
- 检查
JAVA_HOME是否设置为 JDK 24 的安装路径,例如: - 更新
Path环境变量,确保%JAVA_HOME%\bin在最前面。
4. 清理 Gradle 缓存并重新构建
清理缓存
重新构建项目
5. 检查 Android Studio 中的 JDK 设置
如果你使用 Android Studio 构建项目,确保它使用的是正确的 JDK:
- 打开 Android Studio
- 进入 File > Settings (Preferences on macOS) > Build, Execution, Deployment > Build Tools > Gradle
- 在 Gradle JDK 下拉菜单中选择:
Embedded JDK(推荐)- 或者手动选择你本地的 JDK 24 路径
6. 验证最终结果
运行以下命令,确认 Gradle 实际使用的 Java 版本:
你应该看到:
7. 额外建议:使用 jenv 或 sdkman 管理多版本 Java(可选)
如果你经常切换 Java 版本,可以使用以下工具管理:
- Windows: 使用
jenv-win或手动切换环境变量 - macOS/Linux: 使用
jenv或sdkman管理多个 JDK 版本
常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| Gradle 仍使用 Java 8 | org.gradle.java.home 路径错误 | 检查路径是否正确,确保没有拼写错误 |
JAVA_HOME 不生效 | 系统中有多个 JAVA_HOME | 删除旧版本的环境变量 |
| Android Studio 使用内置 JDK | IDE 设置未更新 | 在 Android Studio 中手动指定 JDK 24 |
| Gradle 缓存残留 | 旧缓存影响构建 | 清理 Gradle 缓存并重新构建 |
总结
| 步骤 | 检查内容 |
|---|---|
| 1 | gradlew --version 中 Daemon JVM 是否为 Java 24 |
| 2 | JAVA_HOME 是否指向 JDK 24 |
| 3 | gradle.properties 中是否配置 org.gradle.java.home |
| 4 | Android Studio 是否使用正确的 JDK |
| 5 | 清理缓存并重新构建项目 |
结束语
Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!


所有评论(0)