首页 > 学院 > 开发设计 > 正文

gradle学习笔记(一) 构建工具介绍

2019-11-07 22:52:28
字体:
来源:转载
供稿:网友

前言:

在android开发中平常所接触的gradle脚本,配置好了点击run按钮就能编译、打包、安装等等操作,编译出想要的apk,大大方便了开发过程。但是自己对gradle的了解和掌握仅仅只是够用,于是大量查资料开始学习gradle。

这篇笔记主要解释了构建的概念、什么是构建工具,和gradle的基础概念,并清晰解释了学好gradle的必须基础:groovy 和 响应的DSL。

1. 什么是构建

构建是一个对象,环境,和生成软件产品方法的集合。

这里边包含了三方面的意思 1. 构建对象,就是构建的输入。构建的对象包括源代码(source code),发布事项(release notes),readme文件,变更记录(change log)等构建的原材料。 2. 构建环境就是一个可以进行构建,生成软件产品的地方。 3. 构建方法。构建方法告诉我们在构建环境中,按照构建方法所描述的内容,对构建对象进行构建就可以生成软件产品。

通俗的说,构建就是根据输入信息然后干一堆事情,最后得到几个产出物(Artifact)。 “构建”通常是指建设的过程。构建过程可能包含有计划,设计,检查工作的一些方面,但是在大多数时候,构建就是指创建事物过程中动手的那些部分。

2. 构建工具

构建工具概念

构建工具是一个可编程的工具,能够以可执行和有序的任务来表达满足需要的自动化过程。构建工具就是用来让我们不再做机械重复的事情,解放我们的双手的。

java中的构建工具

现在Java世界的常用构建工具:

Ant Ant使用xml作为脚本编写格式。 XML,本质上是层次化的,并不能很好地贴合Ant过程化编程的初衷。Ant的另外一个问题是,除非是很小的项目,否则它的XML文件很快就大得无法管理。

Maven Maven的也使用xml作为脚本。XML作为配置文件的格式有严格的结构层次和标准,定制化目标(goal)很困难。因为Maven主要聚焦于依赖管理,实际上用Maven很难写出复杂、定制化的构建脚本。 即很难描述出if(某条件) xxx else(某条件) xxx,这样的语句。

Gradle

Gradle结合了前两者的优点,在此基础之上做了很多改进。它具有Ant的强大和灵活,又有Maven的生命周期管理且易于使用。Gradle不用XML,它使用基于Groovy的专门的DSL,从而使Gradle构建脚本变得比用Ant和Maven写的要简洁清晰。Gradle样板文件的代码很少,这是因为它的DSL被设计用于解决特定的问题:贯穿软件的生命周期,从编译,到静态检查,到测试,直到打包和部署。

3. Gradle介绍

基于:

gradle基于groovy。所以能很好解决Maven的局限性,很方便写出复杂、定制化的构建脚本。gradle是一种DSL(Domain Specific Language),领域特定语言。 所谓领域专用语言(Domain Specific Language/DSL),其基本思想是“求专不求全”,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言。 DSL通俗讲就是行话。 在Android studio构建中,该行话就是: Android Plugin DSL Reference。必须要了解它才能写好配置脚本。

如何学习:

知道了gradle基于基于groovy,并是一种DSL,所以要想掌握gradle,必须要了解这么两个基础知识 :

Groovy。了解Groovy语言是掌握Gradle的基础。了解Gradle的DSL。了解Gradle的行话。

参考

深入理解Android之Gradle <—这篇文章真的好!!!全部基于该文章而理解。 什么是构建 什么是构建工具 Java构建工具:Ant vs Maven vs Gradle


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表