文章目录
源码:
https://github.com/zxlabo/UploadApkPlugin
直接上实现过程
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的包名
接下来我们就要把项目上传到远程了。
4、 在 Android Studio 里面配置 Jitpack 插件
因为我们要把项目上传到github,并让其他项目可以依赖使用我们的插件。所以我们要在 Android Studio 里面配置 Jitpack 插件。
在我们的project下的build.gradle引入代码:
代码:
maven { url 'https://jitpack.io' }
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
如图
5、修改插件项目的build.gradle文件
apply plugin: 'java-library'
apply plugin: 'groovy'
apply plugin: 'com.github.dcendents.android-maven'
dependencies {
implementation gradleApi()//gradle sdk
implementation localGroovy()//groovy sdk
}
我们的插件,就算完成了一大半,接下来我们要把项目上传到github上。
6、上传项目到github
(1)新建 repository
在我们的github下,新建 repository,把我们的项目上传到github。
如图
(2)登录 GitHub 发布一个发行版本
点击tags -> release -> 点击创建新的 release 版本 -> 书写版本号和 release 信息。
(3) 获取项目引用方式
进入 JitPack 网站https://jitpack.io/,输入项目的 GitHub 地址:https://github.com/zxlabo/UploadApkPlugin ,点击 Look up,下面就显示出了所有的 release 版本。
如图:
点击 Get it 查看引用方式,
7、引入插件库
根据6.3所述,在我们的项目引入插件。
因为我们要在project下的build.gradle文件下引入我们的插件库。
所以implementation要改为classpath。
注意:这是在根目录下的build.gradle文件
如图
8、引入插件
在APP下的build.gradle,引入我们的插件
注意:这是我们APP下的build.gradle
//插件名字就是我们本文在3.3所述的,UploadApkPlugin.properties文件名。
apply plugin: 'UploadApkPlugin'
9、查看是否引入成功
我们在本文3.2编辑UploadApkPlugin.groovy代码的时候,定义了一个task。
//定义task:UploadApk
project.task('UploadApk') {
doLast {
println("自定义plugin")
}
}
所以我们同步项目之后,可以在AS右边gradle,
点击gradle->选择根目录root->Tasks->other,
可以看到我们自定义的UploadApk这个task,点击task,可以看到我们编写的内容。如图
至此,我们的插件就引入成功了。