Android gradle插件开发

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/starlight_2012/article/details/82050157

1、gradle简介

Gradle 是groovy语言实现的构建工具. groovy是运行在jvm平台的一门敏捷开发语言.其语法和java有诸多类似之处,。是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。gradle面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言

2、创建gradle插件

1.创建一个java lib项目
这里写图片描述

2.删除javalib中多余配置,lib库,java文件,创建groovy项目文件夹
这里写图片描述
这里写图片描述
3.导入groovy库文件,在build中通过apply导入groovy gradle插件,通过dependencies依赖groovy和gradle库这里写图片描述
4.在groovy目录下创建plugin插件文件,创建一个AspectjPlugin.groovy文件继承gradle中Plugin类
这里写图片描述
5.创建一个resources/META-INF/gradle-plugins文件件,在文件夹中创建一个propeties配置文件,在文件指明插件文件路径implementation-class=com.aspectj.AspectjPlugin
这里写图片描述
6.在module build.gradle中配置maven信息,上传maven本地仓库,然后在gradle找到module中tasks,在upload找到uploadArchives双击生存本地maven仓库,在项目中会生存本地仓库文件
这里写图片描述
7.查看本地maven项目信息,在本地maven项目中找到maven-metadate.xml,查看maven groudid、artifactId和version
这里写图片描述
8.在我们项目中引入本地maven jar包,在项目build.gradle中添加maven仓库地址,通过buildscript添加maven本地路径,通过dependencies中classpath依赖maven jar路径,classpath依赖中是maven中 groudId +”:”+artifactId+”:”+version,然后我们通过apply plugin: 添加插件,后面是我们定义插件时META-INF/gradle-plugins下面文件名字(不包含文件类型properties),此时通过sync Now就可以查看自定插件中打印的android plugin字符
这里写图片描述
这里写图片描述

3、Android插件应用场景

Android插件可以动态扩展项目,插件开发中可以通过定义插件在编译时把.dex打包时通过javassite动态修改class代码,后者进行aop切面编程时通过添加task注入aop相关代码。
代码下载:https://download.csdn.net/download/starlight_2012/10626354

猜你喜欢

转载自blog.csdn.net/starlight_2012/article/details/82050157