• 查看和执行Gradle任务
    • 查看当前项目支持哪些Gradle任务
    • 执行Gradle任务

    查看和执行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)任务.