Gradle系列相关文章:
1、Gradle理论与实践一:Gradle入门
2、Gradle理论与实践二:Groovy介绍
3、Gradle理论与实践三:Gradle构建脚本基础
4、Gradle理论与实践四:自定义Gradle插件
5、Gradle装备subprojects和allprojects的差异:subprojects和allprojects的差异
Gradle入门
Gradle 一门DSL (Domain Specific Language,领域特定言语),Gradle 根据Groovy言语,专门用来解决自动化构建。Gradle能够认为是一个结构,担任定义流程和规矩。而具体的编译作业则是经过插件的方法来完成的。比方编译 Java 有 Java 插件,编译 Groovy 有 Groovy 插件,编译 Android APP 有 Android APP 插件,编译 Android Library 有 Android Library 插件。
1、装备Gradle环境
1、下载Gradle地址:https://gradle.org/
2、下载相应版别的Gradle,我的笔记本是Mac,下载的是v4.10.2版别:

/Users/mq/gradle-4.10.2/目录下,要运行Gradle,有必要把GRADLE_HOME/bin目录添加到环境变量PATH的途径才能够,下面是装备Mac的步骤:翻开Mac终端,输入: open -e .bash_profile,翻开.bash_profile文件,接着编辑.bash_profile文件:
GRADLE_HOME=/Users/mq/gradle-4.10.2;
export GRADLE_HOME
export PATH=$PATH:$GRADLE_HOME/bin
保存一下.bash_profile文件,最终在终端上履行source ~/.bash_profile指令,更新.bash_profile文件
4、最终验证一下结果,进入到Gradle装置目录中,输入指令cd /Users/mq/gradle-4.10.2/,接着输入gradle -version或许gradle -v,假如结果如下就是装置成功了:
mqdeMacBook-Pro:gradle-4.10.2 mq$ gradle -version
------------------------------------------------------------
Gradle 4.10.2
------------------------------------------------------------
Build time: 2018-09-19 18:10:15 UTC
Revision: b4d8d5d170bb4ba516e88d7fe5647e2323d791dd
Kotlin DSL: 1.0-rc-6
Kotlin: 1.2.61
Groovy: 2.4.15
Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM: 1.8.0_151 (Oracle Corporation 25.151-b12)
OS: Mac OS X 10.13.6 x86_64
2、Gradle之Hello World
找到Gradle装置的目录,其中有个/bin目录,我的是/Users/mq/gradle-4.10.2/bin,翻开bin目录并创建一个build.gradle文件,写入:
task hello << {
print 'hello world'
}
在终端进入到对应的/bin目录,输入指令gradle -q hello, 输出:
mqdeMacBook-Pro:test_gradle mq$ gradle -q hello
hello world
一个简略的hello world就完成了,阐明:build.gradle是Gradle默许的构建脚本文件,履行指令时会默许加载当时目录下的build.gradle文件。每个Gradle构建都包括三个基本构建块:project、task、property
3、gradle 与gradlew的差异
gradle版别会不断更新,多人协作开发时,每个人运用的版别可能会不同。而gradlew(wrapper)能够看成是gradle的一层包装,让咱们运用相同版别的gradle进行构建,咱们在gradle -> wrapper中能够看到gradle-wrapper.properties文件,制定了gradle的版别。
注:有时候输入gradlew指令时,会提示./gradlew: Permission denied , 在控制台输入chmod +x gradlew, 该指令的作用是是Linux下去除履行权限。详情见:
https://stackoverflow.com/questions/17668265/gradlew-permission-denied
4、Gradle指令介绍
- gradle projects 查看工程信息
- gradle tasks 查看使命信息
-
gradle task name 履行
task使命
5、Gradle 作业流程
以multi-project build为例,Gradle作业流程如下:
- 初始化阶段:首要解析
settings.gradle -
Configration阶段:解析每个Project中的build.gradle,解析过程中并不会履行各个build.gradle中的task。 - 经过
Configration阶段,Project之间及内部Task之间的联系就确认了。一个Project包括很多Task,每个Task之间有依靠联系。Configuration会建立一个有向图来描述Task之间的依靠联系, 一切Project装备完成后,会有一个回调project.afterEvaluate,表示一切的模块都已经装备完了。 - 履行
Task使命

