目录
3.1、建立UploadApkPlugin.groovy和UploadApkPlugin.properties两个文件。
3.3、UploadApkPlugin.properties代码
4、修改插件项目的build.gradle文件,生成插件jar包。
直接上实现过程
1、新建Android项目
2、新建Module
在Android项目新建Module->new Android Library, 我们新建的Android Library,称为UploadApkPlugin。
3、在Module下面建立两个文件
3.1、建立UploadApkPlugin.groovy和UploadApkPlugin.properties两个文件。
删除新建UploadApkPlugin路径src->main下面的所有文件,新建两个文件。UploadApkPlugin.groovy和UploadApkPlugin.properties。
如图
3.2、UploadApkPlugin.groovy代码
之后,我们就可以在这里编辑我们插件想要实现的功能
//这是是包名
package com.plugin
import org.gradle.api.Plugin
import org.gradle.api.Project
public class UploadApkPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
//自定义task:UploadApk
project.task('UploadApk') {
doLast {
println("自定义plugin")
}
}
}
}
3.3、UploadApkPlugin.properties代码
编辑属性文件,属性文件的名称就是未来我们引入插件的名字。
里面的内容指向我们插件的引用路径。
注意:属性文件的路径一定是:src->main->resources->META-INF->gradle-plugins->UploadApkPlugin.properties。
未来我们引入的插件名称就是:UploadApkPlugin
implementation-class=com.plugin.UploadApkPlugin
//com.plugin是UploadApkPlugin的包名
接下来我们就要把项目上传到本地maven。
4、修改插件项目的build.gradle文件,生成插件jar包。
注意:这是我们插件下的build.gradle文件
apply plugin: 'groovy'
apply plugin: 'maven'
dependencies {
implementation gradleApi()
implementation localGroovy()
}
group = 'com.zx.plugin'//包名
version = '1.0.1'//版本号
uploadArchives {
repositories {
mavenDeployer {
//本地的Maven地址设置为
repository(url: uri('../repo'))
}
}
}
同步一下项目,在as的右边gradle下,可以看到uploadArchives的task。
如图:
点击:uploadArchives,会在repo文件夹下生成如图代码:
5、引入本地maven库
注意:这是在根目录下的build.gradle文件
如图
代码:
maven {
url uri('repo')
}
classpath 'com.zx.plugin:uploadApkPlugin:1.0.1'
//com.zx.plugin//是包名,uploadApkPlugin是项目名,1.0.1是版本号。
6、引入插件
在APP下的build.gradle,引入我们的插件
注意:这是我们APP下的build.gradle
//插件名字就是我们本文在3.3所述的,UploadApkPlugin.properties文件名。
apply plugin: 'UploadApkPlugin'
7、查看是否引入成功
我们在本文3.2编辑UploadApkPlugin.groovy代码的时候,定义了一个task。
//定义task:UploadApk
project.task('UploadApk') {
doLast {
println("自定义plugin")
}
}
所以我们同步项目之后,可以在AS右边gradle,
点击gradle->选择根目录root->Tasks->other,
可以看到我们自定义的UploadApk这个task,点击task,可以看到我们编写的内容。如图
至此,我们的插件就引入成功了。