一、什么是 Gradle ?
- 一个像 Ant 一样的非常灵活的通用构建工具
- 一种可切换的, 像 maven 一样的基于合约构建的框架
- 支持强大的多工程构建
- 支持强大的依赖管理(基于 ApacheIvy )
- 支持已有的 maven 和 ivy 仓库
- 支持传递性依赖管理, 而不需要远程仓库或者 pom.xml 或者 ivy 配置文件
- 优先支持 Ant 式的任务和构建
- 基于 groovy 的构建脚本
- 有丰富的领域模型来描述你的构建
二、Gradle 的优点
- 灵活性
- 完全控制
- 目标链
- 依赖管理
- 约定优于配置
- 多模块项目
- 插件扩展
三、如何学习 Gradle ?
- 学习 Groovy(http://docs.groovy-lang.org/)
- 学习 Gradle DSL(https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html)
- 学习 Android DSL和Task(http://google.github.io/android-gradle-dsl/current/index.html)
四、Gradle 脚本的执行时序
Gradle脚本的执行分为三个过程:
-
初始化:分析有哪些module将要被构建,为每个module创建对应的 project实例。这个时候settings.gradle文件会被解析。
-
配置:处理所有的模块的 build 脚本,处理依赖,属性等。这个时候每个模块的build.gradle文件会被解析并配置,这个时候会构建整个task的链表(这里的链表仅仅指存在依赖关系的task的集合,不是数据结构的链表)。
-
执行:根据task链表来执行某一个特定的task,这个task所依赖的其他task都将会被提前执行。
你的朋友是不是也在准备面试呢?你可以“请朋友读”,把今天的题目分享给好友,或许你能帮到他。