首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gradle 简易入门教程

是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于(现在也支持)的内部领域特定语言。

Gradle特点

Gradle是很成熟的技术,可以处理大规模构建

Gradle对多语言、多平台支持性更好

Gradle关注在构建效率上

Gradle发布很频繁,重要feature开发计划透明化

Gradle社区很活跃,并且增加迅速

安装Gradle

从 官网(https://gradle.org/install/)下载二进制文件。

解压Zip文件,加入环境变量(在PATH中加入GRADLE_HOME/bin目录)

如果在安装过程中遇到问题,可以进一步查看官方的安装指南(https://gradle.org/install/)。最后验证一下是否工作正常

Gradle快速体验

初始化一个项目

创建一个目录

初始化项目

Gradle目录结构

我们看看上一步我们生成了什么文件

├── build.gradle ❶

├── gradle

│ └── wrapper

│ ├── gradle-wrapper.jar ➋

│ └── gradle-wrapper.properties ➌

├── gradlew ➍

├── gradlew.bat ➎

└── settings.gradle ➏❶ 当前项目的配置脚本➋的执行jar包(后续介绍)➌的配置文件➍Unix 系执行脚本➎Windows 系执行脚本➏ 项目脚本设置

创建一个Task

提供了用于通过基于或的DSL创建和配置。项目包括一组,每个执行一些基本操作。

创建一个目录叫

在目录创建一个

在构建文件中定义一个名为Copy的类型,该任务将src目录复制到名为dest的新目录

groovy代码:

kotlin代码:

和是自定义的任意值。现在让我们执行这个

再一次我们就可以看见为我们创建了一个新的目录并且将 文件复制进去

Gradle Task

在中,有两个基本概念:项目和任务。

项目是指我们的构建产物(比如Jar包)或实施产物(将应用程序部署到生产环境)一个项目包含一个或多个任务。

任务是指不可分的最小工作单元,执行构建工作(比如编译项目或执行测试)。

在项目目录中的指定了一个项目和它的任务。

Task执行顺序

任务可能依赖于其他任务,或者可能被安排为始终在另一个任务之后运行。

我们可以用让我们的有顺序的运行起来

Gradle插件

看到这里,如果每一件事情我们都需要写岂不是会累死,而且很多功能是可以被复用的,所以提供一个功能,默认就内置了大量的插件,比如在中有一系列的功能。

groovy代码:

kotlin代码:

这个时候我们就可以利用一些额外的,举个例子,我们要把一个目录中的东西都打成一个压缩包。

groovy代码:

kotlin代码:

的设计理念是

在项目中添加新任务

为新加入的任务提供默认配置,这个默认配置会在项目中注入新的约定(如源文件位置)。

加入新的属性,可以覆盖插件的默认配置属性。

为项目加入新的依赖。

Gradle Java

内置了插件,Java插件将Java编译以及测试和捆绑功能添加到项目中。它是许多其他Gradle插件的基础。如果我们需要使用插件 修改

一旦导入了 Java 插件,就会有一系列的默认的配置值,并且会导入大量的我们从这些名字就可以看出来他们分别作作了, 和其他的设计理念类型,在也会嵌入一些生命周期,其实原理也就是我们之前看的执行顺序。

资源:Gradle插件仓库

Gradle依赖管理

先盗取一张官方的图

和类似,也会将依赖缓冲在本地中,方便在无网的环境使用,和依赖管理相关的有两个参数,举个例子。

Gradle支持以下仓库格式:

Ivy仓库

Maven仓库

Flat directory仓库

lvy仓库

我们可以通过URL地址或本地文件系统地址,将Ivy仓库加入到我们的构建中。

Maven仓库

在加入Maven仓库时,Gradle提供了三种“别名”供我们使用,它们分别是

别名,表示依赖是从Central Maven 2 仓库中获取的。

别名,表示依赖是从Bintary’s JCenter Maven 仓库中获取的。

别名,表示依赖是从本地的Maven仓库中获取的。

Flat Directory仓库

依赖管理

在配置完项目仓库后,我们可以声明其中的依赖,首先插件指定了若干依赖配置项

配置项中的依赖是依赖必须的。

配置项中包含的依赖在运行时是必须的。

配置项中包含的依赖在编译项目的测试代码时是必须的。

配置项中包含的依赖在运行测试代码时是必须的。

在最新版本中更是增加

配置项中的实现类

配置项中的暴露API

声明项目依赖

最普遍的依赖称为外部依赖,这些依赖存放在外部仓库中。一个外部依赖可以由以下属性指定:

属性指定依赖的分组(在中,就是)

属性指定依赖的名称(在中,就是)

属性指定外部依赖的版本(在中,就是)

声明项目文件依赖我们如何依赖本地的一些呢,正确的操作是如下

声明依赖排除项目

我们都知道在中我们有

而在中,我们可以这么做。

Gradle与Kotlin

我们想要在中增加非常的简单,仅仅需要在增加

大功告成,对了,默认的的源码路径是, 测试源码是如果需要修改可以使用

其他

Gradle Wrapper

做了三件事情

解析参数传入 gradlew

安装正确的版本

调用执行命令

Ops,为什么还需要安装,我们在用都知道,我们需要自己先安装好一个版本,因为发展多年,现在已经稳定,已经不存在很多个版本并存的现状了,但是我们依然需要去在每个机器上去安装,那我什么我们不能在自己的中就指定我们的构建工具呢?所以我们在中就可以发现这里也就是定义了我们的gradle所使用的版本。

Gradle In Real World

Gradle常用指令

枚列所有可用任务

构建配置属性

显示构建详情

在设置

或者在运行的

参考资料&推荐文档

Gradle入门教程(http://blog.jobbole.com/71999/)

Gradle介绍(https://www.jianshu.com/p/00d5469e25e7)

官方教材(https://guides.gradle.org/creating-new-gradle-builds/)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180716G1W72L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券