1. 概述
Android项目的构建过程是由Gradle插件完成的,Gradle 插件是在Gradle框架的基础上实现的,Gradle框架是使用Groovy语言实现的。因此学习一下Groovy语言的一些常用语法是有必要的。
2. Groovy语法
Groovy语言对Java语言的进行了拓展,它提供了更简单、更灵活的语法,可以在运行时动态地进行类型检查;因此Java语言语法都适用于Groovy语言。
3.Gradle优势:
- 1.一款最新的,功能最强大的构建工具,用它逼格更高
- 2.使用程序代替传统的XML配置,项目构建更灵活
- 3.丰富的第三方插件,让你随心所欲使用
- 4.Maven、Ant能做的,Gradle都能做,但是Gradle能做的,Maven、Ant不一定能做。
Groovy介绍:
- 1.一种基于JVM的敏捷开发语言
- 2.结合了Python、Ruby和Smalltalk的许多强大的特性
- 3.Groovy可以与Java完美结合,而且可以使用Java所有的库
配置Gradle
下载Groovy sdk: - Groovy Sdk
解压下载好的 Groovy sdk 找到对应bin 目录
命令行输入
vim ~/.bash_profile
导入
export PATH=$PATH:/Users/panzhang/Downloads/groovysdk/groovy-2.5.5/bin
Gradle 介绍
Gradle中的所有内容都基于两个基本概念:project和task
- Project
这个接口是build file与Gradle交互的主要API。 通过Project接口可以访问所有Gradle的功能。
![](https://img.haomeiwen.com/i10437245/6ced7a07ecd0a057.png)
- Task
一个Project本质上是Task对象的集合。 每个Task都执行一些基本的工作,比如编译类,运行单元测试,或者压缩WAR文件。 可以使用TaskContainer上的某个create()方法(如TaskContainer.create(java.lang.String))将任务添加到Project中,可以使用TaskContainer上的某个查找方法(如TaskCollection.getByName(java.lang.String))查找现有Task。
build的生命周期
在Gradle中,你可以定义task和task之间的依赖关系。 Gradle保证这些task按照它们的依赖关系执行,并且每个task只执行一次,这些task形成有向无环图。 Gradle在执行任何任务之前完成了对完整的依赖关系图的构建,这是Gradle的核心,使许多事情成为可能,否则将是不可能的。
Gradle build包含三个的阶段:
- Initialization
Gradle支持单个和多个Project的build。 在初始化阶段,Gradle确定哪些Project将参与build,并为每个Project创建一个Project实例。
除了build script文件外,Gradle还定义了一个settings文件,settings文件在初始化阶段执行。 多Project buiid必须在多Project层次结构的根Project中具有settings.gradle文件。 这是必需的,因为settings文件定义了哪些Project正在参与多Project构建。 对于单Project build,settings文件是可选的。
对于build script,属性访问和方法调用被委托给一个Project对象。 同样,settings文件中的属性访问和方法调用被委托给settings对象。
- Initialization
- Configuration
在这个阶段,通过Project对应的构建脚本(比如Android项目的build.gradle文件)的执行来配置该Project对象,Task形成的有向无环图就是在这个阶段被创建。
- Configuration
- Execution
首先确定在配置阶段创建和配置的Task的子集,以便执行, 该子集由传递给gradle命令的Task名称和参数和当前目录确定。 Gradle然后执行集合中的Task。
- Execution
网友评论