Gradle Wrapper
Posted rainboy2010
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle Wrapper相关的知识,希望对你有一定的参考价值。
简介
Gradle Wrapper就是对Gradle的一层封装,一个项目可以使用指定的gradle版本进行构建而不受当前机器安装的gradle版本影响,便于一台机器的多个项目使用不同的gradle版本进行构建而互不影响。当执行gradlew命令的时候,wrapper会检查缓存判断当前机器是否已经安装了对应版本的gradle,如果安装了那么gradlew就会委托gradle执行用户输入的命令,如果还未安装的话,那么首先会自动帮我们从配置的下载地址下载。因此使用gradle的正确姿势是使用gradlew而不是gradle命令,因内网无法连接到外网去下载指定的gradle版本,我们需要手动将对应的gradle版本放在缓存目录。
Windows命令: gradlew xxx
Linux命令: ./gradlew xxx
Wrapper的配置文件是gradle\\wrapper\\gradle-wrapper.properties
如上图所示则执行gradlew命令时指定使用gradle 4.4版本构建项目
PS:每一个android Studio项目都有gradle wrapper,可以在项目根目录下查看
缓存
Gradle的默认缓存目录为~/.gradle,即用户主目录下的.gradle目录,如不设置环境变量GRADLE_USER_HOME,wrapper对应的缓存目录为~/.gradle/wrapper/dists,如设置环境变量GRADLE_USER_HOME,则wrapper对应的缓存目录为$GRADLE_USER_HOME/wrapper/dists
配置
此处以gradle-4.4-all.zip为例
1.将gradle-4.4-all.zip放入以下目录:
~/.gradle\\wrapper\\dists\\gradle-4.4-all\\9br9xq1tocpiv8o6njlyu5op1,路径中的任何目录如gradle-4.4-all不存在创建即可,其中9br9xq1tocpiv8o6njlyu5op1为按照一定规则生成的字符串,可参考Gradle缓存目录文件命名规则
2.解压gradle-4.4-all.zip到当前目录
unzip gradle-4.4-all.zip(Linux)
3.建立空文件gradle-4.4-all.zip.lck和gradle-4.4-all.zip.ok
touch gradle-4.4-all.zip.lck gradle-4.4-all.zip.ok(Linux)
最后的目录结构如下:
验证
创建一个目录如test,然后执行gradle wrapper命令,然后修改配置文件gradle\\wrapper\\gradle-wrapper.properties中的distributionUrl,如修改后的文件如下:
此时在test目录下执行gradlew –v,如显示版本信息,则配置成功
以上是关于Gradle Wrapper的主要内容,如果未能解决你的问题,请参考以下文章
简单理解Gradle,Gradle是什么,一分钟入门Gradle
GroovyGradle 环境搭建 ( 下载 Gradle 工具 | 查找本地缓存的 Gradle 工具 | 配置 Gradle 环境变量 )
Android Gradle 插件Gradle 构建工具简介 ① ( Gradle 环境配置 | 官网下载 Gradle 软件包 | 在本地用户目录下查找 | 配置 Gradle 环境变量 )
Android Gradle 插件Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与 Gradle 配置关联 ) ★