一、Gradle 设计介绍
Gradle 的扩展性十分强,它本身提供基本的概念和整体的核心框架,其他的具体场景逻辑,都是以插件的形式进行扩展
Gradle 本身就内置了很多常用插件,可以满足我们大部分的需求,但是也有一些常用的插件没有内置,这就需要我们自己去扩展实现,然后应用到 Gradle 当中去
二、Gradle 插件介绍
1. 二进制插件
二进制插件就是实现了 org.gradle.api.Plugin 接口的插件
应用:
apply plugin:'java'
apply plugin:org.gradle.api.plugins.JavaPlugin
apply plugin:JavaPlugin
2. 脚本插件
脚本插件,严格来说不能算是一个插件,而是脚本。应用脚本插件,其本质就是把这个脚本加载进来,这个脚本可以是本地的,也可以是网络的
应用:
apply from:'version.gradle'
意义:脚本文件模块化的基础,可以按照功能模块把我们的脚本进行拆分,然后在主脚本文件引用,方便复用与归类,化整为零
3.应用第三方发布的插件
使用第三方发布的 jar 的二进制插件,一般需要配置对应的仓库和类路径
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.3"
}
}
plugins {
id 'com.android.application'
}
但是如果是使用 plugins DSL 应用插件,且插件已经被托管在 https://plugins.gradle.org/ 网站上,就可以不用在 buildscript 里配置 classpath 依赖了,直接使用 plugins 就可以应用了,这里以目前网址上显示第一个插件为例:com.hcl.security.appscan
plugins {
id "com.hcl.security.appscan" version "1.0.6"
}
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.hcl.security:appscan-gradle-plugin:1.0.6"
}
}
apply plugin: "com.hcl.security.appscan"
整理学习自飞雪无情大佬的《Android Gradle 权威指南》和互联网资料
|