入坑Android Gradle插件开发(一)

  

最近由于需要做一些功能,比如统计方法的执行时间,处理删除一方法等。网上找了一圈,虽有有很多开源工具有类似的功能了,但是不够灵活,所以想自己开Android Gradle插发件,于是研究了下如何开发安卓Gradle插件。

  

仅自己的工程里面使用

  

如果是指自己使用的话,可以用下面的方法来快速开发一个插件。在apk模块下面的构建。gradle新增一段代码

  
 <代码类=" language-gradle ">类DemoPlugin实现Plugin{
  @Override
  无效的应用(工程项目){
  println”=============================="
  println“你好,DemoPlugin !”
  println”=============================="
  }
  }
  应用插件:DemoPlugin  
  

然后执行一下<代码> assembleDebug 命令,会在控制台看到下面的打印。

  
 <代码类=" language-gradle ">==============================你好,DemoPlugin !============================== 
  

到这里一个简单的gradle插件就完成了。

  

希望开源发布出去,供大家使用

  

如果需要发布出去,那么需要新建一个<代码>模块> 里演示项目面新建一个<代码> Java库模块。建好模块后,我们需要进行一定的改造才可以开发gradle插件,改造的方法如下:

  

修改build.gradle

  

修改刚刚新建的模块下面的构建。它为下面的内容

  
 <代码类=" language-gradle ">//应用插件:“java库”
  应用插件:“groovy”
  
  依赖关系{//gradle sdk编译gradleApi ()//groovy sdk编译localGroovy ()
  实现fileTree (dir:“库”,包括:[' * . jar '])
  } 
  

新建src/main/groovy目录

  

由于插件是用groovy <代码> 开发的,所有我们需要在<代码> src/主要> 目录,<代码> groory> (src/main/groovy) 下面。有一个小技巧是,如果,给你新建了一个<代码> src/main/java代码目录的话,建议你直接把java代码 <代码>目录名修改为groovy <代码>

  

创建插件类

  

<代码> groovy代码> 插件> 接插件口里面的<代码> 应用方法入口做我们后面想做的事情。这里有一个演示代码片段:

  
 <代码类=" language-groovy ">//源码路径为src/main/groovy/com/xander/plugin/DemoPlugin.groovy
  包com.xander.plugin
  
  进口org.gradle.api.Plugin
  进口org.gradle.api.Project
  
  公共类DemoPlugin实现Plugin{
  
  @Override
  无效的应用(工程项目){
  println”===================================="
  println“你好DemoPlugin ! ! !”
  println”===================================="
  }
  } 
  

新建一个属性配置

  

刚刚我们新建了一个<代码>插件> 属性> src/main/resources/meta - inf/gradle-plugins 目录下面,如果没有想要的目录,需要自己创建。当目录创建好以后,你可以新建一个属性配置了,需要特别注意的是,配置的文件名就是后面构建。gradle里面的应用插件:“xxx.xxx。xxx”。在这里我新的配置的文件名是<代码> com.xander.plugin>   

 <代码类=" language-properties ">实现类=com.xander.plugin.DemoPlugin  
  

<代码>属性> 实现类> 包名+类名>   

到这里,改造就完成了,我们就有了一个gradle插件开发的环境。最后的模块结构如下

  
 <代码>。
  ├──build.gradle
  ├──填词
  ├──plugin.iml
  └──src
  └──主要
  ├──groovy
  │└──com
  │└──xander
  │└──插件
  │└──DemoPlugin.groovy
  └──资源
  └──meta - inf
  └──gradle-plugins
  └──com.xander.plugin.properties  
  

上传到maven库

  

既然我们的插件是希望提供给别人用的,所以我们需要把我们的插件上传到maven库供大家下载使用。这个时候需要修改插件模块下面的构建。gradle文件,可以参考下面的示例

入坑Android Gradle插件开发(一)