gradle入门

了解Groovy语言

说到gradle就不得不谈Groovy语言,gradle中所有的配置使用的是Groovy语言

Groovy语言是一门jvm语言,最终编译成class文件后在jvm上运行,java语言的特性Groovy都支持,可以混写java和Groovy,但是不能混写java和kotlin,kotlin和java可以互相调用,但是不可以混写

说了这么多,那Groovy语言就得比java多点啥,要不用它干啥啊

Groovy优势在于增强了java的一些功能,如文件读写,xml解析,用Groovy几行代码就能搞定,而java就需要几十行

def声明变量、定义函数

def i = 1

def str = "hello world"

def d = 3.14

声明变量可以不加类型,编译时会自动判断类型,结尾也可以不加分号

def demoName(){

      "hello world"

}

最后一行就等于return了,可以不加return

String demoName(){

      "hello world"

}

指定返回值类型就可以不加def了

字符串分为三种

单引号不会对字符串中$进行转义,原样输出

双引号会转义$,输出变量的值

三引号字符(''')支持换行,原样输出

Groovy的数据类型主要包括三种

java中基本数据类型

增强的List、Map、Range容器

闭包

需要说一下的是List可以通过 << 加入元素(List << 1)

认识gradle

Gradle学习主要参考文档如下:

Gradle API:https://docs.gradle.org/current/javadoc/org/gradle/api/package-summary.html

Gradle DSL:https://docs.gradle.org/current/dsl/org.gradle.api.Project.html

Gradle 用户手册:https://docs.gradle.org/current/userguide/userguide.html

Android插件DSL参考:http://google.github.io/android-gradle-dsl/current/index.html

配置环境

官方文档上说了,要想运行首先你得弄个jdk或者jre1.8以上版本,注意啊,别到时候让我帮帮你

下载gradle

地址:https://gradle.org/releases/

现在官方有两个版本 一个二进制文件,一个完整版,在现在这个时间下(2020-02-01)最新的是6.1.1版本

https://gradle.org/next-steps/?version=6.1.1&format=all

下载完成之后解压(网速慢就去村口网吧下载一下)

解压完乐意放哪就放哪,自己记住就行

然后配置系统环境

在环境变量的path中添加C:\gradle-6.1.1-all\gradle-6.1.1\bin,也就是你的解压完之后压缩包的bin所在地址,往里面一填就行,win10系统直接添加,win10以下点编辑然后加分号添加进去!别的系统自己百度去

添加完了再命令行输入 gradle -v 验证一下

这样似的就成功了,环境就安装完了

Gradle是一个开源的构建自动化工具,既然是用于项目构建,那它肯定要制定一些规则,在Gradle中每一个待编译的工程都称为Project,每个Project都可以引入自己需要的插件,引入插件的目的其实就是引入插件中包含的Task,一个Project可以引入多个插件,每个插件同样可以包含一个或多个Task

通过 gradle projects命令即可查看有多少个projects

gradle通过setting.gradle文件中的

linclude:

来看包含了多少个project

使用gradle的时候,见到最多的就是build.gradle文件

在根目录下配置的build.gradle文件一般都是公共的东西,子文件就不需要在配置了

我们在settings.gradle与build.gradle中看似配置的信息其实都是调用对应对象的方法或者脚本块设置对应信息。其实settings.gradle文件最终会被翻译为Settings对象,而build.gradle文件最终会被翻译为Project对象,build.gradle文件对应的就是每个project的配置。Settings与Project在Gradle中都有对应的类,也就是说只有Gradle这个框架定义的我们才能用

Project对象
每个build.gradle文件都会被翻译为对应的Project对象,build.gradle文件最重要的作用就是

引入插件并配置相应信息

添加依赖信息

引入插件重要的就是引入插件中包含的tasks,至于插件与tasks后面会详细讲到。

那怎么引入插件呢?

Project定义了apply函数供我们调用:

apply plugin: 'com.android.library'

Gradle工作时序

Gradle执行分为三个过程:

Initiliazation
初始化阶段只要为每个module创建project实例。这个阶段settings.gradle文件会被解析执行。

Configration
这个阶段解析每个模块的build.gradle文件,这个阶段完成后整个项目的tasks执行顺序也就确定了并且task准备就绪处于待执行状态,整个tasks任务会构成一个有向无环图。

执行任务
这阶段就是按照顺序执行具体任务了。

在每个阶段我们可以通过gradle对象添加回调监听。

Gradle中的task

task可以说Gradle中很重要的部分,task是Gradle的执行单元,一个task就是具体执行某一任务。

好的这篇博客到这里就结束了,大家一起学习一进步,谢谢

 

发布了48 篇原创文章 · 获赞 69 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章