Chapter1:Gradle基础概念

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_33334951/article/details/102708876

Chapter1:Gradle基础概念

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插件的来源。

  • 插件用于扩展Gradle构建脚本的能力。在一个项目中应用一个插件,该项目就可以使用该插件预定义的一些属性和任务。

  • 如果构建一个应用,那么需要申请的插件是:

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

apply plugin: 'com.android.library'
  • 注意:一个模块只能为Android应用模块和Android依赖模块之一。

1.4 项目结构

  • 参考项目目录结构:

文件夹结构

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

猜你喜欢

转载自blog.csdn.net/qq_33334951/article/details/102708876