使用本地gradle和gradlew相关配置

                                     图1

1.将使用的gradle版本下载到本地

下载地址 Gradle | Releases,将要使用的gradle下载到本地

如 图1 中的 gradle-8.0-all.zip ,然后解压缩生成 gradle-8.0 文件夹,最后新建 GradleUserHome 文件夹,用来存储项目中用到的gradle相关的缓存和下载文件

 2.配置AndroidStudio中的gradle目录

打开AndroidStudio使用快捷键 ctrl+alt+s,打开Settings面板 

 搜索栏中输入Gradle,右边则是配置主界面

①Gradle user home 一栏,选择 图1 中的GradleUserHome文件夹

②Use Gradle from 一栏,选择 Specified location ,然后选用 图1 的gradle-8.0文件夹

这样项目中使用的gradle版本就是本地的,与project中的 wraper/gradle-wrapper.properties 设置的gradle版本脱离了关系。

3.配置环境变量

新建“系统变量”,添加变量名 GRADLE_HOME ,变量值设置为解压后的文件夹目录

在path目录中添加  %GRADLE_HOME%\bin

在windows命令行中输入 gradle -v ,如果显示gradle版本信息则表示配置成功,然后我们就可以在AndroidStudio中的命令行(Terminal)使用gradle相关的命令,如图使用 gradle -v

4.gradlew相关

project中的 wraper/gradle-wrapper.properties 是默认的保存gradle版本和gradle相关缓存的位置,一般在 C:\Users\xxx\.gradle 目录下,且看官方讲解

配置 build  |  Android Studio  |  Android Developers

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

Gradle 封装容器文件:
Gradle 封装容器 (gradlew) 是一个包含在源代码中的小型应用,用于下载和启动 Gradle 本身。这可以创建更一致的构建执行。开发者下载应用源代码并运行 gradlew。这将下载所需的 Gradle 发行版,并启动 Gradle 以构建应用。
gradle/wrapper/gradle-wrapper.properties 文件包含一个属性 distributionUrl,该属性描述了用于运行 build 的 Gradle 版本。

gradle-wrapper.properties也可使用本地gradle版本,

(1)将 distributionUrl 设置为 图1 gradle-8.0-all.zip 的存放目录

distributionUrl=file\:///D:/SoftWare/ProgramSoftWare/gradle/gradle-8.0-all.zip

(2)修改distributionBase中GRADLE_USER_HOME的默认路径

添加 GRADLE_USER_HOME 环境变量,目录为 图1 GradleUserHome文件夹

然后在 path 下面添加 %GRADLE_USER_HOME%

同样使用GradleUserHome文件夹,目的是为了与上面AndroidStudio配置的保持一致

提示 :如果同时处理多个项目,请尽可能确保所有项目都使用相同的 Gradle 版本。否则,除了为每个用于运行 Gradle 的 JDK 创建单独的副本之外,Gradle 还会为每个 Gradle 版本创建 Gradle 守护程序的副本。这会增加内存和 CPU 使用率,可能会降低构建速度或影响机器上的其他工作。

 在AndroidStudio中的Terminal中使用 ./gradlew -v ,如果显示版本信息则表示配置成功。

 这里的gradlew代表的是 gradle wraper,如果使用gradlew命令,则需要前面添加 ./

 5.配置JAVA SDK版本

继续测试配置的gradle版本,那么我们继续用Terminal输入 gradle -q tasks ./gradlew -q tasks

正常情况输出的内容是一样的,但测试的时候发现报了异常,额外说一下

Incompatible because this component declares a component compatible with Java 11 and the consumer needed a component compatible with Java 8

 一连串的错误显示与Java版本有关,查看官方有如下描述

Android build 中的 Java 版本  |  Android Studio  |  Android Developers

如何选择运行 Gradle build 的 JDK?
如果您使用 Android Studio 中的按钮运行 Gradle,系统会使用 Android Studio 设置中设置的 JDK 运行 Gradle。如果您在 Android Studio 内部或外部的终端中运行 Gradle,JAVA_HOME 环境变量(如果已设置)决定了运行 Gradle 脚本的 JDK。如果未设置 JAVA_HOME,它会对 PATH 环境变量使用 java 命令。

为了获得最一致的结果,请务必将您的 JAVA_HOME 环境变量以及 Android Studio 中的 Gradle JDK 配置设置为同一 JDK。

注意 :如果您在 Android Studio 终端中通过右键点击并选择 RunHighlight 命令来使用 IDE 运行 Gradle 命令,则会使用 Android Studio 设置中的 JDK,而不是 JAVA_HOME。

运行 build 时,Gradle 会创建一个名为“守护程序”的进程来执行实际构建。只要 build 使用相同的 JDK 和 Gradle 版本,就可以重复使用此过程。重复使用守护程序可缩短启动新 JVM 和初始化构建系统的时间。

如果您使用不同的 JDK 或 Gradle 版本启动 build,则会创建额外的守护程序,这会消耗更多的 CPU 和内存。

提示 :在同时处理多个项目时,如果可能,请在其 gradle-wrapper.properties 文件中指定相同的 Gradle 版本,以减少创建的 Gradle 守护程序的数量。

此时用的是Terminal运行的Gradle,因此调用的JDK版本是JAVA_HOME配置的,这里还是用的java 8,因此冲突是必然的,将JAVA_HOME配置的路径改成AndroidStudio里面设置的路径(如下图),版本统一起来则可以正常调用命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值