插件概念
- 提供具体的构建功能(Task),项目构建过程中使用到的具体的Task和构建行为都可以统一使用插件来提供,这样做的好处是提高代码的复用性,提高效率。
使用插件
- 二进制插件
是指实现了Plugin接口,可以存在于一个独立的编译脚本中,也可以作为单独的工程来维护。这些插件会对外发布成一个插件jar包。比如android插件就是一个二进制插件。
如何使用一个二进制插件:
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
// 1.在dependencies代码块中声明android 插件的名称和版本号
classpath "com.android.tools.build:gradle:4.0.0"
}
}
// 2.在具体的模块中应用插件
apply plugin: 'com.android.application'
// 3.配置插件的参数
android {
compileSdkVersion 33
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.example.testgradle1"
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
}
...
}
- 脚本插件
比二进制更轻量,是一个独立的gradle脚本,脚本可以对工程中的build.gradle脚本做进一步的扩展和补充,既可以存在于本地目录,也可以存在远程的服务器中。
例如在项目根目录新建一个名为android.gradle的脚本
然后在app.gradle中引入该脚本插件
// 使用脚本插件
apply from: project.rootProject.file("android.gradle")