3.3.3 Android 任务

Android plugin 使用了同样的约定规则以和其他插件保持兼容,并且又添加了一些额外的引导任务:

  • assemble 这个任务会汇集工程的所有输出。
  • check 这个任务会执行所有校验检查
  • connectedCheck 运行 checks 需要一个连接的设备或者模拟器,这些checks将会同时运行在所有连接的设备上。
  • deviceCheck 通过 API 连接远程设备运行 checks。它被用于 CI (译者注:持续集成)服务器上。
  • build 这个任务会同时执行 assemblecheck 任务
  • clean 这个任务会清理工程的所有输出

这些新的引导任务是必须的,以便能够在没有连接的设备的情况下运行定期检查。

注意 build 既不依赖 deviceCheck ,也不依赖 connectedCheck

一个Android工程至少有两个输出:一个debug APK和一个 release APK。他们每一个都有自己的引导任务以便可以单独的构建他们:

  • assemble
    • assembleDebug
    • assembleRelease

他们两个都依赖其他任务,这些任务执行很多必须的步骤以生成一个APK。 assemble 任务又依赖他们两个,所以执行 assemble 会生成两个 APK。

提示:在命令行下,Gradle 支持任务名称驼峰方式的快捷调用,比如:

  1. gradle aR

  1. gradle assembleRelease

是一样的,当然前提是没有其他任务匹配’aR’。

检验引导任务也有他们自己的依赖:

  • check
    • lint
  • connectedCheck
    • connectedAndroidTest
    • connectedUiAutomatorTest (尚未实现)
  • deviceCheck
    • 这个依赖其他插件创建的时候实现的测试扩展点的哪些任务。

最后,插件会为所有的构建类型( debug, release, test )创建 install/uninstall 任务,也只有他们能被安装(需要签名)。