Gradle 学习之入门知识

Posted Nicholas_hzf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle 学习之入门知识相关的知识,希望对你有一定的参考价值。

Gradle 7.0.2

一、Gradle Wrapper

1. 什么是 Gradle Wrapper

The Wrapper is a script that invokes a declared version of Gradle, downloading it beforehand if necessary. ——摘自官网

通俗来说,Wrapper 包装器,是对 Gradle 的一层包装,是 Gradle 的一个调用脚本,主要是帮助我们简化 Gradle 的创建、部署和管理

2. 如何生成一个 Gradle Wrapper 所需的目录文件

1.)在项目的根目录中输入:gradle wrapper

  • wrapper 是 Gradle 内置的一个 Task

2.)根目录下会生成以下文件:

文件说明:

  • gradle/wrapper/gradle-wrapper.jar 具体 wrapper 业务实现的 jar 包
  • gradle/wrapper/gradle-wrapper.properties 配置文件,用于配置 Gradle 版本等
  • gradlew Linux 下的可执行脚本
  • gradlew.bat Windows 下的可执行脚本

3.)指定参数以控制 Wrapper 生成

参数说明例子
–gradle-version指定使用的 Gradle 版本–gradle-version 7.0.2
–distribution-type指定使用的 Gradle 类型,有两种值,分别是 bin 或 all,默认值为 bin–distribution-type all
–gradle-distribution-url指定下载 Gradle 发行版的 url 地址–gradle-distribution-url https://services.gradle.org/distributions/gradle-7.0.2-all.zip
–gradle-distribution-sha256-sum下载 Gradle 发行版的哈希验证

4.)注意点:是在项目的根目录下,不是一个空目录下,项目下必须有.gradle文件

3. gradle-wrapper.properties

  • distributionBase 与 distributionPath 指明了下载下来的 Gradle 压缩包解压的地方
  • zipStoreBase 与 zipStorePath 指明了下载下来的 Gradle 压缩包存放的位置
  • distributionUrl Gradle 压缩包的下载地址
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

4. 如何使用 Gradle Wrapper 下载 Gradle

Gradle 项目目录下执行:./gradlew,依据系统环境执行相关下载脚本即可

5. 通过自己写的 Task 来生成 Gradle Wrapper

在 Gradle 根目录下执行命令 gradle wrapperDownload 就会生成 7.0.2 版本的 Gradle Wrapper 了,当然还可以自己配置其他参数

// 写法一 gradle wrapperDownload
task wrapperDownload(type: Wrapper)
    gradleVersion = '7.0.2'

// 写法二 gradle wrapper
tasks.named('wrapper') 
    gradleVersion = '7.0.2'

二、Gradle Wrapper 的一些命令

1. 查看帮助:

./gradlew -? ./gradlew -h ./gradlew -help 注意第一个命令里面的问号是中文问号

2. 查看所有可执行的 Tasks:

./gradlew tasks

3. 某个 Task 的使用帮助:

./gradlew help --task 任务名称
查看任务 tasks 的使用帮助
./gradlew help --task tasks

4. 强制刷新依赖:

./gradlew --refresh-dependencies assemble

5. 多任务执行:

./gradlew 任务一 任务二 任务三

6. 执行任务时,任务名称可以用缩写的方式指定(基于驼峰命名法)

./gradlew hW

task helloWorld
    doLast
        println "Hello World"
    


整理学习自飞雪无情大佬的《android Gradle 权威指南》和互联网资料

以上是关于Gradle 学习之入门知识的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 学习之入门知识

Gradle 学习之入门知识

Gradle 学习之入门知识

Android学习之基础知识二(build.gradle文件详解)

Gradle学习之闭包

Gradle 学习之基础项目脚本