什么是Gradle
Gradle 是一个基于 JVM 的构建工具。可用于自动化项目的编译,打包,省去人工操作,一方面可以提高效率,解放人工,另一方面可以避免人为错误。
基于 Java 语言的构建工具有:Ant, Gant, Maven。Gradle 吸收了前面三者的优点,形成了新的开源工具,它支持的构建脚本语言有 Groovy, Kotlin,并且 Gradle 还是 Android 官方的构建工具。
-
gradle 构建脚本 .gradle 的文件格式即为 gradle 脚本文件,build.gradle 是默认的脚本文件。在 gradle 脚本中,有个「任务(Task)」的概念比较核心。 -
Gradle Wrapper 简称 Gradle 包装器,目的是为了统一 Gradle 环境和版本,保证项目在不同设备上构建的结果一致。使用 Gradle Wrapper 会自动帮我们下载配置指定版本,这样就可以不用关心设备间的差异,得到统一的构建结果。 通过 gradle -> wrapper -> gradle-wrapper.properties 文件可对 Gradle Wrapper 进行配置。 -
gradle 插件 Gradle 另一个强大的点就是对插件形式的支持,不仅提高了灵活度,功能扩展也更强大。Gradle 插件分两种类型: 1.脚本插件 脚本就是 .gradle 文件,只不过是以插件的形式集成,所以本质上和普通的 gradle 脚本没有区别。 2.对象插件 对象插件的特征是需要实现 org.gradle.api.Plugin 接口。按类型引用方式可分为两类: -内置对象插件 是指 Gradle 自带的一些插件,例如 JavaPlugin。 -第三方对象插件 是指 Gradle 发行包之外的一些第三方自定义插件,这里也可分为自己定义的插件和引用其他人定义的插件。 引用他人定义的插件时需要使用 buildscript 来配置依赖,这样 Gradle 才能知道该插件,
buildscript {
repositories{
maven {
url "https://xxxx"
}
}
dependencies{
classpath "com.jkwen.gradle:gradle-plugin:1.0.0"
}
}
例如像上面这样配置依赖,然后在 gradle 脚本文件中应用插件即可。 如果是自己定义插件,并且只是在自己项目中使用,可以通过写脚本插件,或者创建 buildSrc 模块来引用。如果想要共享定义的插件,可以通过创建独立项目的方式,上传插件,那样就可以像引用他人插件一样通过配置依赖使用。
什么是Groovy
Groovy 是一种基于 JVM 的面向对象的编程语言,可用于面向对象编程,也可用于脚本编程。
Gradle与Android的关系
Gradle 是 Android 官方指定的构建工具,通过配置插件依赖(Google 为 Gradle 编写的 Android插件),使得在 Android 项目中使用 Gradle 构建更合适。
com.android.application - 应用程序插件
com.android.library - 库插件
以上两个插件是 Android 项目中最常见的。
插件内的各功能作用域(例如 Android{},dependencies{})配置是 Android 构建的关键,
了解Gradle后有什么用
1.知道了 Gradle 的本质,对 Android 项目中的 build.gradle 有了更深的理解,可以修改相应配置更适合自己的项目。
2.可以通过定制 Gradle 插件的形式来解决一些问题或实现功能,例如 asm 插桩。
3.学会用 groovy 语言编写脚本来解决问题。
|