Gradle项目架构

在Gradle中,有两个非常重要的概念——Project和Task。对于Android项目来说,一个工程下可能有多个module,即主项目和库项目。Gradle的Project针对的是module,每个独立的module都是一个Project。在终端中执行以下指令可以查看该工程中的所有Project。

  1. GradleTest git:(master) gradle projects
  2. ……
  3.  
  4. ------------------------------------------------------------
  5. Root project
  6. ------------------------------------------------------------
  7.  
  8. Root project 'GradleTest'
  9. +--- Project ':app'
  10. \--- Project ':testlibrary1'

对每个Project来说,一个Project可以包含多个Task,在Android Studio的Gradle标签中,开发者可以找到这些具体的Task,如图4.48所示。

Gradle项目架构 - 图1 图4.48 gradle task

当然,你也可以通过gradle task指令查看所有Task,笔者在前文中已经讲解过了。

对于每个Project而言,其根目录下都会有一个build.gradle文件。这个脚本类似于笔者在《Android群英传》中介绍的Android源代码编译系统的Makefile,通过这个脚本,开发者可以控制该Project的编译选项。

这样一看,整个Gradle的项目结构就很清楚了。Gradle就像一个班主任,管理着不同module中的内容,现在再回过头去看Gradle初探这一小节中的脚本文件,大家应该能有一个整体的认识了。

  • 目录下的build.gradle控制Project的编译。
  • setting.gradle控制多Project的管理。
  • local.properties、gradle.properties用于配置信息参数。