确定 Flutter SDK 及其关联的 Gradle 版本与适配的 JDK 版本

发布于:2025-03-03 ⋅ 阅读:(133) ⋅ 点赞:(0)

最近在编写 Flutter 项目,发现不同的 Flutter SDK 版本有着不一样的 Gradle 版本,然后不同的 Gradle 版本需要不同的 JDK 版本。只有当三者都一致匹配时,才能正常的完成编译

首先,我们可以确定 Flutter SDK 对应的 Gradle 版本。我们每个下载的 Flutter 的 SDK 中都有这样一个示例工程目录,我们打开其中的一个来查看其官方配置的 Gradle 版本,例如:

flutter\examples\hello_world\android\gradle\wrapper

我们打开 gradle-wrapper.properties 既可以找到对应的 Gradle 版本,例如我这里 3.7.12 版本的 SDK 对应的是

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

可以发现对应的 Gradle 版本是 7.5,我们可以通过这个表来找到对应的 JDK 版本是 18

Java version Support for toolchains Support for running Gradle
8 N/A 2.0
9 N/A 4.3
10 N/A 4.7
11 N/A 5.0
12 N/A 5.4
13 N/A 6.0
14 N/A 6.3
15 6.7 6.7
16 7.0 7.0
17 7.3 7.3
18 7.5 7.5
19 7.6 7.6
20 8.1 8.3
21 8.4 8.5

然后我们需要手动设置 Flutter SDK 编译使用的 JDK 路径:

flutter config --jdk-dir=D:\JDK\jdk-18

我们可以运行如下命令检查:

 flutter doctor --verbose 

得到如下的信息:

[] Android toolchain - develop for Android devices (Android SDK version 35.0.1)
    • Android SDK at C:\Users\hucao\AppData\Local\Android\sdk
    • Platform android-Baklava, build-tools 35.0.1
    • Java binary at: D:\JDK\jdk-18.0.2\bin\java
    • Java version OpenJDK Runtime Environment (build 18.0.2+9-61)
    • All Android licenses accepted.

说明我们已经修改成功了


网站公告

今日签到

点亮在社区的每一天
去签到