温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Gradle中怎么自定义插件

发布时间:2021-08-12 16:18:50 来源:亿速云 阅读:241 作者:Leah 栏目:大数据

Gradle中怎么自定义插件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。


在Gradle中创建自定义插件,Gradle提供了三种方式:

  • 在build.gradle脚本中直接使用

  • 在buildSrc中使用

  • 在独立Module中使用

开发Gradle插件可以在IDEA中进行开发,也可以在Android Studio中进行开发,它们唯一的不同,就是IDEA提供了Gradle开发的插件,比较方便创建文件和目录,而Android Studio中,开发者需要手动创建(但实际上,这些目录并不多,也不复杂,完全可以手动创建,而且在AS中进行创建有利于进行插件依赖的调试和功能的完善)。

在build.gradle脚本中使用

在build.gradle脚本中使用是最简单的,但是只适应于很简单的功能,也不便于其他地方应用,如下面,可以直接写在app moudle的build.gradle 里面,sync之后可在右侧model对应的other中查询到MytestPlugin

Gradle中怎么自定义插件

根目录下build.gradle

双击执行,在android studio终端里就可以直接执行此插件:

Gradle中怎么自定义插件

执行之后的截图

由于直接在build.gradle中进行自定义比较简单,这里就不在进行重点的讲解

2

 在项目里使用


这里官网的描述 https://docs.gradle.org/4.0.2/userguide/organizing_build_logic.html#multiProjectBuildSrc
请参考(目前所暂时为最新的gradle4.0.2内容,低版本也兼容此功能)

Gradle中怎么自定义插件


根据官网的描述,这里在项目中进行使用的gradle插件过程如下:
首先在Android Studio中创建一个标准的Android项目,然后在项目的根目录下新建一个model命名为buildSrc,这个目录就用来存放自定义插件

     

我们对新建的model操作过程如下:


src/main 项目文件下:

  • 移除 java 文件夹,因为在这个项目中用不到 java 代码

  • 添加 groovy 文件夹,主要的代码文件放在这里

  • 添加 resources 文件夹,存放用于标识 gradle 插件的 meta-data

  • 修改src/build.gradle配置内容


下面是我的一个实际项目:

Gradle中怎么自定义插件

项目中使用gradle截图


其中,除了buildSrc目录以外,其他都是标准的Android目录,而buildSrc就是Gradle提供的在项目中配置自定义插件的默认目录,开发Gradle要创建的目录,也就是RootProject/src/main/groovy和RootProject/src/main/resources两个目录。


1,创建buildSrc/build.gradle


首先,先来配置buildSrc目录下的build.gradle文件,这个配置比较固定,使用官网示例,脚本如下所示:

Gradle中怎么自定义插件


2,创建Groovy脚本


接下来,在groovy目录下,创建一个Groovy类(与Java类似,可以带包名,但Groovy类以.grovvy结尾,所以groovy文件的创建是new->file->custom.groovy),如图所示:


Gradle中怎么自定义插件

其中MyPlugin为new出的新文件,全名为MyPlugin.groovy


在groovy下先创建了子目录,这里类似于java 的package一样,com/myPlugin 目录,再创建MyPlugin.groovy文件:



   


注意:
groovy 文件夹中的类,一定要修改成 .groovy
后缀,IDE 才会正常识别。

这个插件创建了一个名为testPlugin的Task, 并在 task 中打印。插件是一个类,继承自 org.gradle.api.Plugin接口,重载 void apply(Project project)方法,这个方法将会传入使用这个插件的 project 的实例,这是一个重要的 context。

3,创建resources
resources目录是标识整个插件的目录,其目录下的结构如下所示:


Gradle中怎么自定义插件


该目录结构与buildSrc一样,是Gradle插件的默认目录,不能有任何修改。创建好这些目录后,在gradle-plugins目录下创建——插件名.properties文件,如上图所示的: myCustomPlugin.properties文件
在该文件中,代码如下所示:


implementation-class=com.myPlugin.MyPlugin


通过上面的代码指定最开始创建的Groovy类即可。


在主项目中使用插件


在主项目的build.gradle文件中,通过apply指令来加载自定义的插件,脚本如下所示:


apply plugin: 'myCustomGradle'


其中plugin的名字,就是前面创建myCustomPlugin.properties中的名字——myCustomPlugin,通过这种方式,就加载了自定义的插件。

配置完毕后,就可以在主项目中使用自定义的插件了,在终端执行gradlew testPlugin指令或者在右侧的gradle集成中查找,及app-other:testPlugin任务进行双击,如图:


Gradle中怎么自定义插件

plugin命令可点击


结果如下所示:

Gradle中怎么自定义插件


看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI