# Android Tasks
Android plugin 使用相同的約定以兼容其他插件,并且附加了標志性的 task,包括:
- **assemble** 組合項目所有輸出
- **check** 執行所有檢查
- **connectedCheck** 在一個連接的設備或者模擬器上執行檢查,它們可以在所有連接的設備上并行執行檢查
- **deviceCheck** 通過 APIs 連接遠程設備來執行檢查,主要用于 CI(Continuos integration ,持續集成)服務上。
- **build** 執行 assemble 和 check 的所有工作
- **clean** 清空項目的輸出
這些新的標志性 task 是必須的,以保證能夠在沒有設備連接的情況下執行定期檢查。 注意 **build** task 不依賴于 **deviceCheck** 或者 **connectedCheck**。
一個 Android 項目至少擁有兩個輸出:debug APK 和 release APK。每個輸出都有各自的標志性 task 以便能夠單獨構建它們。
- **assemble**
- **assembleDebug**
- **assembleRelease**
它們都依賴于其它一些 tasks 以完成構建一個APK所需的多個步驟。其中 **assemble** task 依賴于上述兩個 task,所以執行 **assemble** 將會同時構建出兩個 APK。
> 提示: Gradle 在命令行上支持駝峰命名法的 task 簡稱,例如,執行
~~~
gralde aR
~~~
> 等同與輸入
~~~
gradle assembleRelease
~~~
> 只要沒有其它命令匹配 `aR`
> 譯者注:assR 同樣能運行 assembleRelease task,即簡稱不一定要是首字母縮寫 `_(:зゝ∠)_`
check task 也有擁有依賴:
- **check**
- **lint**
- **connectedCheck**
- **connectedAndroidTest**
- **connectedUiAutomatorTest**(尚未實現)
- **deviceCheck**
- 進行測試時才會觸發
最后,插件為所有的構建類型(**debug, release, test**)創建了 `install/uninstall` 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