================
Gradle是一个基于JVM的构建工具,目前Android Studio中建立的工程都是基于gradle进行构建的。Gradle的与其他构建工具(ant、maven)的特性主要包括:
- 强大的DSL和丰富的gradle的API
- gradle就是groovy
- 与其他构建工具的集成
- 强大的依赖管理 可拓展性
- 与其他构建工具的集成
表格
Markdown Extra 表格语法:
| 项目 | 价格 |
| — | — |
| Computer | $1600 |
| Phone | $12 |
| Pipe | $1 |
三种构建脚本
Gradle的脚本都是配置型脚本。每一种脚本类型实际上都是某个具体的gradle的API中的类对象的委托,脚本执行对应的其实是其委托的对象的配置。在一个完整的gradle的构建体系中,总共有三种类型的构建脚本,同时也分别对应着三种委托对象
| 脚本类型 | 委托对象 |
| — | — |
| Init script | Gradle |
| Settings script | Settings |
| Build script | Project |
init.gradle
对应的就是上面的Init script,实际上就是Gradle
对象的委托,所以在这个init
脚本中调用的任何属性引用以及方法,都会委托给这个 Gradle
实例。
Init script的执行发生在 构建开始之前,也是整个构建最早的一步。
配置Init scrip的依赖
每个脚本的执行都可以配置当前脚本本身执行所需要的依赖项。Init
scrip的配置如下:
initscript {
repositories {
mavenCentral()
}
dependencies {
classpath group: ‘org.apache.commons’, name: ‘commons-math’, version: ‘2.0’
}
}
使用Init scrip
要使用一个定义好的Init scrip,主要有以下几个方式
- 在执行gradle命令的时候,通过
-I
或--init-script
命令选项指定脚本的路径 这种方式可以针对具体的一次构建。 - 把一个
init.gradle
文件放到 USER_HOME/.gradle/` 目录 - 把一个文件名以
.gradle
结尾的文件放到Gradle
settings.gradle
对应的是Settings script脚本类型,是Settings
对象的委托。在 脚本中调用的任何属性引用以及方法,都会委托给这个 Settings
实例。
Settings script的执行发生在gradle的构建生命周期中的 初始化阶段。Settings脚本文件中声明了构建所需要的配置,并用以实例化项目的层次结构。在执行settings脚本并初始化Settings
对象实例的时候,会自动的构建一个根项目对象rootProject
并参与到整个构建当中。(rootProject
默认的名称就是其文件夹的名称,其路径就是包含setting脚本文件的路径)。
因此,在settings的脚本文件中,我们可以访问使用的对象包括:
- Settings`对象
- Gradle`对象
- ProjectDescriptor`对象