# 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