gradle大概知识点

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。

面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言

说白了也就是项目自动化建构工具。构建就是根据输入信息执行一系列操作,最后得到几个产出物(APK包)。

gradle使用的语言是Groovy

Groovy 概述

 

Groovy是一种基于Java平台的面向对象语言。 Groovy是个灵活的动态脚本语言,基于JVM虚拟机,语法和Java很相似,又兼容Java,且在此基础上增加了很多动态类型和灵活的特性,如支持闭包和DSL(就是针对某一领域而产生的语言。DSL的好处是一句话可以包含很多意思,因为只针对特定领域解决问题),Groovy 1.0于2007年1月2日发布,其中Groovy 2.4是当前的主要版本。 Groovy通过Apache License v 2.0发布。

Groovy的特点

Groovy中有以下特点:

  • 同时支持静态和动态类型。
  • 支持运算符重载。
  • 本地语法列表和关联数组。
  • 对正则表达式的本地支持。
  • 各种标记语言,如XML和HTML原生支持。
  • Groovy对于Java开发人员来说很简单,因为Java和Groovy的语法非常相似。
  • 您可以使用现有的Java库。
  • Groovy扩展了java.lang.Object。

以上摘自Groovy教程,感兴趣的可以去看看

Android中的gradle

它在android studio的位置是app目录下的build.gradle和项目目录下的build.gradle

就这几个,emm..其他几个gradlew,这个还没接触过,但是打开看是一堆代码,如果猜的没错的话,应该是

配置整个项目运行的代码吧,然后其他几个,估计你们也知道干嘛用了,就不解释了

Gradle插件种类及用法

插件种类

  • 二进制插件:实现了org.gradle.api.Plugin接口的插件,拥有plugin id,这个 id 是插件全局唯一的标识或名称
  • 脚本插件:严格上只是一个脚本,即自定义的以 .gradle 为后缀的脚本文件,可以来自本地或网络

插件用法

二进制插件

id式:apply plugin:'plugin id'

类型式:apply plugin:org.gradle.api.plugins.JavaPlugin

简写式:apply plugin:JavaPlugin
  • 脚本插件apply from:'version.gradle'
  • 第三方发布插件apply plugin:'com.android.application'

Android Gradle插件分类

  • App应用工程:生成可运行apk应用;插件id: com.android.application
  • Library库工程:生成AAR包给其他的App工程公用,其使用方式和jar包一样,里面有相关的 Android 资源文件;插件id: com.android.library
  • Test测试工程:对App应用工程或Library库工程进行单元测试;插件id: com.android.test

Android Studio Gradle插件构建流程

Gradle生命周期

 

  • Initialization(初始化阶段):Gradle支持单项目和多项目构建。在初始化阶段,Gradle确定将要参与构建的项目,并为每个项目创建一个Project对象。通俗的说就是执行上述settings.gradle文件。
  • Configuration(配置阶段):在此阶段,解析每个Project中的build.gradle文件,并生成将要执行的task。
  • Execution(执行阶段):执行 task,进行主要的构建工作

大概就这么多,感兴趣的可以看大佬的文章深入理解Android之Gradle

参考文章:

https://www.jianshu.com/p/63e78a6c6e9d

 

Guess you like

Origin blog.csdn.net/z936689039/article/details/108438385