以下章节描述了 Gradle 与几种集成的兼容性。此处未列出的版本可能可以工作,也可能无法工作。

Java 运行时

Gradle 在 Java 虚拟机 (JVM) 上运行,JVM 通常由 JDK 或 JRE 提供。 执行 Gradle 需要 JVM 版本 8 到 23。尚不支持 JVM 24 及更高版本。

使用 JVM 16 或更早版本执行 Gradle 守护程序已被弃用,并将在 Gradle 9.0 中变为错误。 Gradle Wrapper、Gradle 客户端、Tooling API 客户端和 TestKit 客户端将继续与 JVM 8 兼容。

JDK 6 和 7 可用于编译。 使用 JVM 6 和 7 进行测试已被弃用,并且在 Gradle 9.0 中将不再支持。

任何完全支持的 Java 版本都可用于编译或测试。 但是,最新的 Java 版本可能仅支持编译或测试,而不支持运行 Gradle。 通过使用工具链来实现支持,并适用于所有支持工具链的 Task。

请参见下表,了解特定 Gradle 版本支持的 Java 版本

表 1. Java 兼容性
Java 版本 工具链支持 运行 Gradle 的支持

8

不适用

2.0

9

不适用

4.3

10

不适用

4.7

11

不适用

5.0

12

不适用

5.4

13

不适用

6.0

14

不适用

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

22

8.7

8.8

23

8.10

8.10

24

不适用

不适用

我们仅在测试过它们可以工作且没有任何警告后才在上表中列出版本。 但是,由于工具链支持,Gradle 通常会在那时之前使用最新的 Java 版本工作。 我们鼓励用户尝试一下并告知我们。

Kotlin

Gradle 已经过 Kotlin 1.6.10 到 2.1.20-Beta2 的测试。 Beta 和 RC 版本可能可以工作,也可能无法工作。

表 2. 嵌入式 Kotlin 版本
嵌入式 Kotlin 版本 最低 Gradle 版本 Kotlin 语言版本

1.3.10

5.0

1.3

1.3.11

5.1

1.3

1.3.20

5.2

1.3

1.3.21

5.3

1.3

1.3.31

5.5

1.3

1.3.41

5.6

1.3

1.3.50

6.0

1.3

1.3.61

6.1

1.3

1.3.70

6.3

1.3

1.3.71

6.4

1.3

1.3.72

6.5

1.3

1.4.20

6.8

1.3

1.4.31

7.0

1.4

1.5.21

7.2

1.4

1.5.31

7.3

1.4

1.6.21

7.5

1.4

1.7.10

7.6

1.4

1.8.10

8.0

1.8

1.8.20

8.2

1.8

1.9.0

8.3

1.8

1.9.10

8.4

1.8

1.9.20

8.5

1.8

1.9.22

8.7

1.8

1.9.23

8.9

1.8

1.9.24

8.10

1.8

2.0.20

8.11

1.8

2.0.21

8.12

1.8

Groovy

Gradle 已经过 Groovy 1.5.8 到 4.0.0 的测试。

用 Groovy 编写的 Gradle 插件必须使用 Groovy 3.x 才能与 Gradle 和 Groovy DSL 构建脚本兼容。

Android

Gradle 已经过 Android Gradle 插件 7.3 到 8.8 的测试。 Alpha 和 beta 版本可能可以工作,也可能无法工作。

目标平台

Gradle 支持一组定义的目标平台,这些平台是以下各项的组合:

  • 操作系统和版本

  • 架构

  • 文件系统监视兼容性

下表列出了 Gradle 的官方支持平台

表 3. 支持的平台
操作系统 架构

Ubuntu 22

amd64

Windows 10

amd64

macOS 12

amd64

aarch64

Ubuntu 16

amd64

aarch64

Alpine 3.20

amd64

CentOS 9

amd64

目前,所有 Gradle 测试都在平台的默认文件系统上运行,即 Ubuntu、Amazon Linux 和 CentOS 的 ext4,Windows 的 NTFS 和 macOS 的 APFS

上面未列出的平台可能可以使用 Gradle,但未经过积极测试。