Gradle干嘛的
Gradle是一款自动化开源构建工具,目前android开发者好像没有谁离开它(当然,有那种大神自己通过命令行编译的,不在范围内)。什么是构建工具,对于android开发者简单来说就是将你的代码和资源等等构建出相应的apk或者aar。下面这张图是android的打包流程图
可以发现是身份复杂的,包括java代码的编译,dex文件的生成,apk签名等等一系列工具过程,如果每一个节点都由开发者自己去做,那无疑对生产效率是大打折扣,而gradle通过自身提供的api可以让这一系列流程结合起来,只需要相应的输入,就给你想要的输出。
构建要素
一个Gradle构建通常包含三个基本构建块:project,task和property。每个构建至少包含一个project,一个project可以包含一个或者多个task,project和task可以暴露属性来控制构建。
project
project在android项目中往往对应一个module,每个project至少包含一个build.gradle。而project中又可以注册多个task。
task
task可以理解为具体的行为动作,无论是打印还是编译java代码,都可以在task中定义和执行,task就是具体的干活人,上面android打包流程图中,几乎每个节点就是一个ta