Gradle Task

Task其实是Gradle中最重要的组成部分,但是本文尽量淡化Task的概念,让读者理解Gradle的编译思想。

当IDE创建好一个Android项目之后,Gradle就默认创建了很多Task,要了解一个默认的Android工程有哪些Task,可以使用以下指令。

  1. GradleTest gradle task

运行结果如图4.4所示。

Gradle Task - 图1 图4.4 gradle task

后面还有很多Task由于图片大小的关系没有全部显示。如果要查看各个Task的具体作用与各个Task之间的相互调用关系,可以使用以下指令。

  1. GradleTest gradle task --all

运行效果如图4.5所示。

Gradle Task - 图2 图4.5 gradle task—all

同样,后面还有很多Task由于图片大小的关系没有全部显示。通过这个指令,可以帮助开发者快速了解各个Task的具体作用。

对于Android开发来说,开发者并不需要掌握太深的Gradle编译原理,但基本的、与Android开发相关的Task,还是有必要好好了解一下的。

  • assemble task

assemble task用于组合项目的所有输出,它包含了assembleDebug和assembleRelease两个Task。通过执行gradle assemable指令,Gradle会编译出两个Apk——debug和release,如果要执行单独的编译命令,可以使用以下指令。

  1. gradle assembleRelease (简写 gradle aR,其他指令的简写基本类似)
  • Check

check task用于执行检查任务。

  • Build

build task类似一个组合指令,它执行了check和assemble的所有工作。

  • Clean

clean task用于清理所有的中间编译结果,这个指令使用的非常广泛。当遇到一些比较莫名其妙的Gradle编译问题时,通常会先执行clean task来清理中间数据,这也类似于IDE的clean工作。

要想执行某个task,直接使用gradle task_name即可,例如gradle clean。这些Task都是Gradle的基本Task,了解好它们是掌握Gradle的必经之路。