查看和执行Gradle任务

查看当前项目支持哪些Gradle任务

使用.\/gradlew task来查看当前项目支持哪些Gradle任务.

  1. FirstApp$ ./gradlew task
  2. :tasks
  3. ------------------------------------------------------------
  4. All tasks runnable from root project(所有从项目根目录可运行的任务)
  5. ------------------------------------------------------------
  6. Android tasks(Android 任务)
  7. -------------
  8. androidDependencies - 显示项目的Android依赖
  9. signingReport - 显示每个变种版本的签名信息.
  10. sourceSets - 打印出所有在这个项目中定义的source集合.
  11. Build tasks(构建任务)
  12. -----------
  13. assemble - 编译并打出应用程序所有变种版本的包.
  14. assembleAndroidTest -编译并打出所有测试应用的包.
  15. assembleDebug - 编译并打出Debug版本的包.
  16. assembleRelease - 编译并打出Release版本的包.
  17. build - 执行所有检查并编译打包
  18. buildDependents - 检查所有的依赖并编译打包.
  19. buildNeeded - 检查所有的依赖并编译打包.
  20. clean - 删除构建目录
  21. compileDebugAndroidTestSources
  22. compileDebugSources
  23. compileDebugUnitTestSources
  24. compileReleaseSources
  25. compileReleaseUnitTestSources
  26. mockableAndroidJar - 创建一个适用于单元测试的android.jar版本.
  27. Build Setup tasks (构建设置任务)
  28. -----------------
  29. init - 被始化一个新的Gradle构建.
  30. wrapper - 生成 Gradle wrapper文件
  31. Help tasks(帮助任务)
  32. ----------
  33. buildEnvironment - 显示项目根目录中声明的所有构建脚本的依赖
  34. components - 显示项目根目录产生的组件
  35. dependencies - 显示项目根目录中所有依赖的声明.
  36. dependencyInsight - 显示并洞察项目根目录中一个特殊的依赖关系.
  37. help - 显示帮助信息
  38. model - 显示项目根目录的配置模型.
  39. projects - 显示项目根目录中的子项目.
  40. properties - 显示项目根目录的属性.
  41. tasks - 显示从项目根目录可以运行的任务(
  42. 有些显示的任务可能属于子项目)
  43. Install tasks(安装任务)
  44. -------------
  45. installDebug - 编译打包并安装Debug版本的包.
  46. installDebugAndroidTest - 编译打包并安装Debug版本的测试包到设备上
  47. uninstallAll - 卸载所有版本的包.
  48. uninstallDebug - 卸载Debug版本的包.
  49. uninstallDebugAndroidTest - 从设备上卸载Debug版本的Android测试包
  50. uninstallRelease - 卸载Release版本的包.
  51. Verification tasks(验证任务)
  52. ------------------
  53. check - 运行所有检查.
  54. connectedAndroidTest - 在已连接的设备上安装所有flavors(渠道包)并运行instrumentation测试
  55. connectedCheck - 在当前已连接的设备上运行设备检测.
  56. connectedDebugAndroidTest - 在已连接的设备上安装并运行Debug版本的测试.
  57. deviceAndroidTest - 在所有提供的设备上安装并运行instrumentation测试.
  58. deviceCheck - 在所有提供的设备和测试服务器上运行设备检测.
  59. lint - 在所有变种版本上运行lint检测.
  60. lintDebug - Debug版本上运行lint检测.
  61. lintRelease - Release版本上运行lint检测.
  62. test - 在所有变种版本上运行单元测试.
  63. testDebugUnitTest - Debug版本上运行单元测试.
  64. testReleaseUnitTest - Release版本上运行单元测试.
  65. Other tasks (其它任务)
  66. -----------
  67. jarDebugClasses
  68. jarReleaseClasses
  69. transformResourcesWithMergeJavaResForDebugUnitTest
  70. transformResourcesWithMergeJavaResForReleaseUnitTest
  71. 想查看所有任务和更多详情, 请运行gradlew tasks --all
  72. 想查看一个任务的更多详情, 请运行gradlew help --task <task>
  73. BUILD SUCCESSFUL
  74. Total time: 6.717 secs
  75. 这个构建可以更快, 请考虑使用Gradle守护: https://docs.gradle.org/2.10/userguide/gradle_daemon.html

执行Gradle任务

执行命令:

gradle + 任务名称

.\/gradlew + 任务名称

注意: Gradle的Android插件提供了四个顶级任务: 打包(assemble)、检测(check)、构建(build)、清理(clean),当我们执行一个顶级任务的时候会同时执行与其依赖的任务.

比如你执行: .\/gradlew assemble

它会把你配置的所有构建类型(Build Types)全部打出来,默认的构建类型是Debug和Release,因此最起码它会执行两个任务:

gradlew assembleDebug

gradlew assembleRelease

如果有其它的构建类型,任务名应该是:

gradlew assemble+构建类型名

另外你还要知道,执行构建(build)任务会执行 检测(check)和打包(assemble)任务.