Android创建独立目录下的自定义插件

Android创建独立目录下的自定义插件

之前介绍过创建功能简单的自定义插件,只是将功能写在了build.gradle中。现在来介绍实用的,创建独立目录的自定义插件,并上传到maven,实现共享。

  1. 建立插件

第一, 在根目录下,建一个跟app同级的文件夹buildSrc。
第二,在buildSrc中,建一个src文件夹,和一个build.gradle文件。其中build.gradle文件内容如下:
Android创建独立目录下的自定义插件
第三,在src文件夹下,建一个main文件夹,在main下建一个groovy和resources文件夹。
第四,在groovy下,建一个形如com -> example -> plugin层次结构的目录结构,并在plugin下建一个PluginImpl.groovy文件,其中,内容如下:
Android创建独立目录下的自定义插件
第五,在resources文件夹下建立如下目录结构,resources -> META-INF -> gradle-plugins,并在gradle-plugins文件夹下新建一个com.example.plugin.properties文件,(com.example.plugin 指向PluginImpl.groovy文件的package名)。且其内容如下:
Android创建独立目录下的自定义插件
2. 将插件上传至maven,并打出jar包
第一,需要向buildSrc下的build.gradle中添加如下内容:即红色框中内容,如下:
Android创建独立目录下的自定义插件
第二,接下来Sync now一下目录,你就可以发现,就会有upload -> uploadArchives命令出现如下,点击执行它,你就会得到这个插件生成的jar包。如下:
Android创建独立目录下的自定义插件
3. 在新项目中使用该jar包
第一,在新的项目中使用这个jar包时,将之前生成的repos文件夹复制到,新项目的根目录中(或者其他路径,但注意在引用仓库地址时,要做对应的修改)。
第二,修改新项目中的build.gradle文件内容,如下:
Android创建独立目录下的自定义插件
但是若报错:Could not find method leftShift() for arguments,需要修改之前插件PluginImpl.groovy的内容,删除其中操作符 << 即可。
原因: 操作符 << 在Gradle 4.x中被弃用,并在Gradle 5.0中被移除。
Android创建独立目录下的自定义插件
第四,双击运行这个testTask的命令,如下:
Android创建独立目录下的自定义插件