Gradle 配置 环境变量
目录
Gradle 的配置
Gradle 的版本配置
- 环境变量
GRADLE_HOME:仅仅是为了可以在任意目录中执行gradle命令,没有特殊的意义 gradlew和gradlew.bat:封装 gradle 的脚本,目的是为了更方便的使用 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](file:///D:/_dev/gradle/GRADLE_HOME/gradle-6.7/)Path:[%GRADLE_HOME%\bin](file:///D:/_dev/gradle/GRADLE_HOME/gradle-6.7/bin/)
- 将
gradle添加到Path的目的是为了,可以在任意目录中执行gradle命令。 - 实际上,完全没必要设置环境变量
GRADLE_HOME,Do we really need GRADLE_HOME?
gradle -v # 查看版本
gradle --help # 查看命令使用帮助
λ where gradle # 查看 gradle 命令位置
D:\_dev\gradle\GRADLE_HOME\gradle-6.7\bin\gradle
D:\_dev\gradle\GRADLE_HOME\gradle-6.7\bin\gradle.bat
gradlew 是干嘛的
其实 gradlew 只是一个 gradle 的封装(wrapper),gradlew = gradle wrapper,因为在项目根目录有 gradlew 和 gradlew.bat 这两个可执行文件,所以 能且仅能 在项目根目录中执行 gradlew 命令。
D:\_dev\_code\as\Test> gradlew -v # 查看版本
D:\_dev\_code\as\Test> gradlew --help # 查看命令使用帮助
D:\_dev\_code\as\Test> where gradlew # 查看 gradlew 命令位置
D:\_dev\_code\as\Test\gradlew
D:\_dev\_code\as\Test\gradlew.bat
这两个文件头部的注释也说明了他们的作用:
gradlew:Gradle start up script forUN*Xgradlew.bat:Gradle startup script forWindows
之所以添加这个 gradlew 脚本,是为了:
- 统一项目所使用的
gradle版本,避免不同开发人员使用不同的gradle版本导致的兼容性问题 - 可以把
gradle-wrapper.properties里面的下载gradle的地址切换到公司的公共空间上,以加快下载速度
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决定。
#Mon Nov 16 00:55:48 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
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 版本不同,建议勾选此配置(也是默认配置)。
- 为了防止和在 Terminal 中执行
- 当勾选
Specified location时,使用指定目录下的 gradle 版本。- 如果 gradle 下载很慢,就可以勾选此配置,以便使用指定本地下载好的
gradle版本。
- 如果 gradle 下载很慢,就可以勾选此配置,以便使用指定本地下载好的
不管在 IDEA 中怎么配置,在 Terminal 中执行
gradlew命令时,所使用的gradle版本都是由gradle-wrapper.properties决定的,并且下载路径也都是由环境变量GRADLE_USER_HOME决定的。
Gradle 依赖的 JDK 配置
这里的 JDK 指的是执行 Gradle 命令依赖的 JDK,并非 AndroidStudio 工程依赖的 JDK。
- 通过
File | Settings | Build, Execution, Deployment | Build Tools | Gradle设置的 JDK,是在运行 IDEA 图形化按钮时使用的。 - 通过
gradle.properties设置的 JDK,是在 Terminal 中执行gradlew命令时使用的。
org.gradle.java.home=C\:/_dev/Android/Android Studio/jre
注意:AGP 从
7.0.0-alpha02版本起,需要使用 Java 11
2017-05-22
本文来自博客园,作者:白乾涛,转载请注明原文链接:https://www.cnblogs.com/baiqiantao/p/6890674.html

浙公网安备 33010602011771号