gradle知识点笔记

Gradle

基本概念

  1. gradle中是按project来构建项目
  2. 每一个Project都必须设置一个build.gradle
  3. 通常我们会把多个项目现在一个根文件夹下,组成一个Multi-project; 对于Multi-projec项目, 要在根目录放一个build.gradle和一个settings.gradle, setting.gradle通过include配置,引入各个子项目
  4. 一个Project是由若干个tasks组成, 执行gradle xxx命令, 实际是要gradle执行xxx任务
  5. 一个Project包含哪些Task, 是由build.gradle中指定的插件控制; 插件是什么呢?插件就是用来定义Task,并具体执行这些Task的东西

Gradle基本命令

  1. gradle projects 查看工程的project

    gradle知识点笔记_第1张图片
    gradle_project_out

  2. gradle tasks 查看任务信息

    gradle知识点笔记_第2张图片
    gradle_tasks_out

    上面只是列出了所有task, 加上--all,可以显示task之间的依赖关系; gradle tasks --all

  3. gradle task-name 执行任务

    上面通过gradle tasks列出所有任务名, 然后就可以通过 gradle task-name 执行某个任务
    对于子项目的任务, 可以通过 gradle project-path:task-name 执行, project-path是子项目的文件夹; eg: gradle app:clean

  4. gradle dependencies 查看项目的依赖关系

    gradle知识点笔记_第3张图片
    gradle_dependencies_out

    上面会显示所有阶段的依赖, 如果只想看指定阶段的依赖,可以使用 --configuration 来指定
    gradle app:dependencies --configuration testCompile

工作流程

具体可参考https://docs.gradle.org/current/userguide/build_lifecycle.html

  1. Initialization, 初始化阶段
    gradle支持单项目和 multi-project, 在这个流程中,gradle会判断是哪种项目类型,并且为每个项目生成'Project'实例; 一般我们的项目来说, 就是执行settings.gradle
  2. Configuration 配置阶段
    解析每个项目的buil.gradle, 确定项目的配置和各个task,及task之间的依赖关系
  3. Execution 执行阶段
    这个没啥说的, 根据传进来的task-name 执行

你可能感兴趣的:(gradle知识点笔记)