Android学习笔记|Chapter1:Gradle基础概念

Chapter1:Gradle基础概念
文章目录

  • Chapter1:Gradle基础概念
    • 1.1 项目和任务
    • 1.2 构建生命周期
    • 1.3 构建配置文件
    • 1.4 项目结构
    • 1.5 Gradle Wrapper
    • 1.6 参考资料

1.1 项目和任务
  • 项目和任务:每一次构建都包括至少一个项目, 每一个项目又包括一个或多个任务。每个build.gradle文件都代表着一个项目, 任务定义在构建脚本里。当初始化构建过程时,Gradle会基于build文件组装项目和任务对象。一个任务对象包含一系列动作对象, 这些动作对象之后会按顺序执行。
1.2 构建生命周期
  • Gradle的构建的三个阶段:
    • 1.初始化:项目实例被创建。如果一个项目有多个模块, 并且每一个模块都有其对应build.gradle文件,那么就会创建多个项目实例。
    • 2.配置:构建脚本会被执行, 并为每个项目实例创建和配置任务。
    • 3.执行:Gradle决定哪个任务会被执行。任务被执行取决于开始该次构建的参数配置和该Gradle文件的当前目录。
1.3 构建配置文件
  • 每一个基于Gradle构建的项目, 都应该至少有一个build.gradle文件。Android的构建文件中, 有一些元素是必需的:
    //实际构建配置的地方 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }

  • 在repositories代码块中, JCenter库被配置为整个构建过程的依赖仓库;在dependencies代码块中,定义了一个依赖。这就是Android插件的来源。
  • 【Android学习笔记|Chapter1:Gradle基础概念】插件用于扩展Gradle构建脚本的能力。在一个项目中应用一个插件,该项目就可以使用该插件预定义的一些属性和任务。
  • 如果构建一个应用,那么需要申请的插件是:
    apply plugin: 'com.android.application'

  • 如果构建一个依赖库,那么需要申请的插件是:
apply plugin: 'com.android.library'

  • 注意:一个模块只能为Android应用模块和Android依赖模块之一。
1.4 项目结构
  • 参考项目目录结构:
Android学习笔记|Chapter1:Gradle基础概念
文章图片

1.5 Gradle Wrapper
  • Gradle Wrapper 可以避免Gradle发展过程中新版本打破向后的兼容性。在使用Gradle构建且脱离Android Studio开发时,推荐使用Wrapper。
  • 命令:生成Wrapper文件(不指定版本默认当前使用Gradle的版本)
    gradle wrapper --gradle-version 5.6.3

  • 生成的Wrapper文件主要包括三部分:
    • 1.batch文件。(Linux和Mac上为shell脚本)
    • 2.batch文件或shell脚本需要用到的jar文件。
    • 3.properties文件。
1.6 参考资料
  • Gradle For Android

    推荐阅读