# 通用任務
添加一個插件到構建文件中將會自動創建一系列構建任務(build tasks)去執行(注:Gradle 屬于任務驅動型構建工具,構建過程基于 Task)。
Java 插件和 Android 插件都會創建以下 Task:
- **assemble** 組合項目所有輸出任務
- **check** 執行所有檢查任務
- **build** 執行 **assemble** 和 **check** 兩個 task 的所有工作
- **clean**會清空項目的輸出
實際上 **assemble**,**check** 和 **build** 這三個 task 不做任何事情。它們只是一個 Task 標志,用來告訴 plugin 添加實際需要執行的 task 去完成這些工作。
這就允許你去調用相同的 task,而不需要考慮當前是什么類型的項目,或者當前項目添加了什么 plugin。
例如,添加了 *findbugs* plugin 將會創建一個新的 task 并且讓 **check** task 依賴于這個新的 task。當 **check** task 被調用的時候,這個新的 task 將會先被調用。
在命令行環境中,你可以執行以下命令來獲取更多高級別的 task:
~~~
gradle tasks
~~~
查看所有 task 列表和它們之間的依賴關系可以執行以下命令:
~~~
gradle tasks --all
~~~
> 注意:Gradle 會自動監視一個 task 聲明的所有輸入和輸出。
兩次執行 **build** task 并且期間項目沒有任何改動,Gradle 將會使用`UP-TO-DATE` 通知所有 task。這意味著第二次 build 執行的時候不會請求任何 task 執行。這允許 task 之間互相依賴,而不會導致不需要的構建請求被執行。
- 譯者序
- 簡介
- 新構建系統的目標
- 為什么使用 Gradle?
- 配置要求
- 基礎項目
- 構建文件示例
- 項目結構
- 配置項目結構
- 構建任務
- 通用任務
- Java 項目的 Task
- Android Tasks
- 基本的構建定制
- Manifest 屬性
- 構建類型
- 簽名配置
- 運行 ProGuard
- 清理資源
- 依賴、Library 和多項目
- 包依賴
- 本地包依賴
- 遠程包依賴
- 多項目設置
- Library 項目
- 創建 Library 項目
- 普通項目和 Library 項目的區別
- 引用 Library 項目
- Library 項目發布
- 測試
- 單元測試
- 基本知識和配置
- 運行測試
- 測試 Android Library 項目
- 測試報告
- 獨立項目
- 多項目報告
- Lint 支持
- 構建 Variants(變種)版本
- 產品定制
- 構建類型+產品定制=構建變種版本
- 產品定制的配置
- 源組件和依賴
- 構建和任務
- 測試
- 多定制的變種版本
- 高級構建的自定義
- 構建選項
- Java 編譯選項
- aapt 選項
- dex 選項
- 操作 task
- 構建類型和產物定制的屬性引用
- 使用sourceCompatibility 1.7
- 附錄
- ApplicationId 與 packageName