Gradle的环境配置
原文地址:https://www.cnblogs.com/baiqiantao/p/6890674.html
Installing Gradle: https://docs.gradle.org/current/userguide/installation.html
- gradlew 和 gradlew.bat:封装 gradle 的脚本,目的是为了更方便的使用 gradle
- 环境变量
GRADLE_HOME
:仅仅是为了可以在任意目录中执行 gradle 命令,没有特殊的意义 - 环境变量
GRADLE_USER_HOME
:控制在命令行中执行 gradlew 命令时,gradle 下载的目录 - IDEA 的
Gradle user home
:控制在 IDEA 点击按钮执行各项 Task 等功能时,gradle 下载的目录 - IDEA 的
User from gradle
:控制在 IDEA 点击按钮执行各项 Task 等功能时,使用的 gradle 的版本
环境变量 GRADLE_HOME
设置环境变量 GRADLE_HOME 的目的,仅仅是为了方便在 Path 中指定 gradle 的位置。
GRADLE_HOME:D:_dev\gradle_GRADLE_HOME\gradle-6.7
Path:%GRADLE_HOME%\bin
将 gradle 添加到 Path 的目的是为了,可以在任意目录中执行 gradle 命令。
实际上,完全没必要设置环境变量 GRADLE_HOME,Do we really need GRADLE_HOME?
1 | gradle -v # 查看版本 |
gradlew 是干嘛的
其实 gradlew
只是一个 gradle 的封装(wrapper),gradlew = gradle wrapper,因为在项目根目录有 gradlew
和 gradlew.bat
这两个可执行文件,所以 能且仅能 在项目根目录中执行 gradlew
命令。
1 | D:\_dev\_code\as\Test> gradlew -v # 查看版本 |
这两个文件头部的注释也说明了他们的作用:
- gradlew:Gradle start up script for UN*X
- gradlew.bat:Gradle startup script for Windows
之所以添加这个 gradlew
脚本,是为了:
统一项目所使用的 gradle 版本,避免不同开发人员使用不同的 gradle 版本导致的兼容性问题
可以把 gradle-wrapper.properties
里面的下载 gradle 的地址切换到公司的公共空间上,以加快下载速度
1 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip |
环境变量 GRADLE_USER_HOME
设置环境变量 GRADLE_USER_HOME
的目的,是为了自定义下载 gradle
时的本地存储路径。
在命令行中执行 gradlew
命令(注意不是 gradle 命令)时,会将对应版本的 gradle
下载到此目录中。
下载 gradle 时,下载地址及版本由项目中的 /gradle/wrapper/gradle-wrapper.properties 决定。
1 | #Mon Nov 16 00:55:48 CST 2020 |
IDEA 的 Gradle user home
在 IDEA 的 File | Settings | Build, Execution, Deployment | Build Tools | Gradle
中,有一个 Gradle user home
的配置,其作用和环境变量 GRADLE_USER_HOME
类似,只不过该配置只是给 IDEA 使用的。譬如点击 gradle 窗口的各种 Task 按钮执行各项 Task 功能时。
注意:仅 IDEA 中的各种图形化操作会使用此配置,在 IDEA 的 Terminal 中执行 gradlew 命令时,使用的依旧是环境变量 GRADLE_USER_HOME
。
IDEA 的 User from gradle
在 IDEA 的 File | Settings | Build, Execution, Deployment | Build Tools | Gradle
中,有一个 User from gradle
的配置,它也是仅提供给 IDEA 使用的(对 gradlew 无效)。
其作用是,指定当前工程中 IDEA 所使用的 gradle 版本:
当勾选 gradle-wrapper.properties
时,使用 gradle-wrapper.properties
中指定的 gradle 版本。
为了防止和在 Terminal 中执行 gradlew 命令时使用的 gradle 版本不同,建议勾选此配置(也是默认配置)。
当勾选 Specified location 时,使用指定目录下的 gradle 版本。
如果 gradle 下载很慢,就可以勾选此配置,以便使用指定本地下载好的 gradle 版本。
不管在 IDEA 中怎么配置,在 Terminal 中执行 gradlew 命令时,所使用的 gradle 版本都是由
gradle-wrapper.properties
决定的,并且下载路径也都是由环境变量GRADLE_USER_HOME
决定的。
org.gradle.java.home 配置
这里的 JDK 指的是执行 Gradle 命令依赖的 JDK,并非 AndroidStudio 工程依赖的 JDK。
通过 File | Settings | Build, Execution, Deployment | Build Tools | Gradle
设置的 JDK,是在运行 IDEA 图形化按钮时使用的。
通过 gradle.properties
设置的 JDK,是在 Terminal 中执行 gradlew 命令时使用的。
1 | # MacOS的路径写法 |
注意:AGP 从 7.0.0-alpha02 版本起,需要使用 Java 11