Gradle是一个框架,它定义了一套自己的游戏规则。
首先介绍Gradle中的基本组件:
Gradle中每一个待编译的工程都叫做Project。每一个Project在构建的时候都会包含一些列的Task。Android APK的编译可能包含:Java源码编译Task、资源编译Task、JNI编译Task、Lint检查Task、打包生成APK的Task、签名Task等等。
一个Project到底包含多少个Task,其实是有编译脚本指定的插件决定的。而插件是什么呢?插件就是用来定义Task的,并具体执行这些Task的东西。
Gradle是一个框架,作为一个框架,它负责定义流程和规则。而具体的编译工作则是通过插件的方式完成的。比如编译Java有Java插件,编译Groovy有Groovy插件,编译Android APP有Android APP插件,编译Android Library有Android Library插件。
从而我们可以知道,Gradle中每一个待编译的工程都是一个Project,一个吧具体的编译过程是由一个一个的Task来定义和执行的。
根据Gradle的要求,每一个Project在其根目录下都需要有一个build.gradle。build.gradle文件就是该Project的编译脚本。
在Gradle中有Multi-Projects Build。
在Android工程中对应的是settings.gradle。这个文件很重要,必须是setting.gradle。
总结:怎么去理解一个Project
- 对于每一个Project都必须设置一个build.gradle文件。我们也可以理解为,一个build.gradle相当于一个Project
- 对于muti-projects build,需要在根目录下也放一个build.gradle 和settings.gradle
- 一个Project是由若干个tasks组成的,并且至少大于一个task,执行gradle xxx的时候其实是执行一个任务。
- 具体的工作和不同的插件有关系。编译Java要使用Java插件,编译Android APP需要Android APP插件。
网友评论