使用AndroidStudio创建自定义gradle插件并被引用实战例子
项目中引入自定义Gradle plugin一般有三种方法:
直接写在 build.gradle中.
plugin源码放到rootProjectDir/buildSrc/src/main/groovy目录下
plugin打包成jar, 发布到maven仓库, 然后项目通过Build Script依赖jar的形式引入
下面介绍的是第3种自定义Gradle插件的方式.
1.创建AndroidLibrary
2.建立plugin的目录结构
把之前目录下的文件全部删掉,只保留build.gradle文件
建立groovy文件夹,在下边建立com.xx.xxx包结构
3.创建MyPlugin文件
import org.gradle.api.Plugin import org.gradle.api.Projectpublic class MyPlugin implements Plugin<Project> {void apply(Project project) {System.out.println("========================");System.out.println("hello gradle plugin!");System.out.println("========================");} }
4.在resources下建立\META-INF\gradle-plugins\com.XXX.myplugin.properties
implementation-class=com.lj.plugin.MyPlugin
5.在build.gradle文件中进行配置
apply plugin: 'groovy' //添加maven plugin, 用于发布我们的jar apply plugin: 'maven' dependencies {compile gradleApi()compile localGroovy()compile 'org.codehaus.groovy:groovy-all:2.3.6' compile 'org.javassist:javassist:3.20.0-GA' }repositories {mavenCentral() }//设置maven deployer uploadArchives {repositories {mavenDeployer {//设置插件的GAV参数 pom.groupId = 'com.lj.plugin' //pom.artifactId = 'cooker-plugin' pom.version = 1.0 //文件发布到下面目录 repository(url: uri('D:/release'))}} }
6.生成插件包
在D:\release\com\lj\plugin\myplugin\1.0目录下看到
7.在要引用的app的build.gradle中添加
就是com.XXX.myplugin.properties的文件名去掉properties
apply plugin: 'com.xxxx.myplugin'
8.在整个项目的build.gradle中添加如下内容
buildscript {repositories {jcenter()maven {//cooker-plugin 所在的仓库 //这里是发布在本地文件夹了 url uri('D:/release')}}dependencies {classpath 'com.android.tools.build:gradle:2.2.2' classpath 'com.lj.plugin:myplugin:1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }allprojects {repositories {jcenter()} }
9.build项目在message窗口看到输出内容
、
使用AndroidStudio创建自定义gradle插件并被引用实战例子相关推荐
- 通过自定义Gradle插件修改编译后的class文件
我的简书同步发布:通过自定义Gradle插件修改编译后的class文件 转载请注明出处:[huachao1001的专栏:http://blog.csdn.net/huachao1001] 或许你会觉得 ...
- 创建第一个适用于Android的自定义Gradle插件-第2部分:在构建时生成资源
A hands on tutorial to get started with adding custom functionality to your Android builds using Kot ...
- Android组件化开发实践(九):自定义Gradle插件
本文紧接着前一章Android组件化开发实践(八):组件生命周期如何实现自动注册管理,主要讲解怎么通过自定义插件来实现组件生命周期的自动注册管理. 1. 采用groovy创建插件 新建一个Java L ...
- 【Android Gradle 插件】自定义 Gradle 插件优化图片 ① ( Android 中的 WebP 图片格式使用 | WebP 格式转换 | WebP 参考文档 )
文章目录 一.Android 中的 WebP 图片格式使用 二.WebP 格式转换 三.WebP 参考文档 Android Plugin DSL Reference 参考文档 : Android St ...
- 自定义Gradle插件之Hello World
自定义Gradle插件之"Hello World" 0.新建一个用于开发这个插件的文件夹 1.确定Plugin id Plugin id一般定义为java 包名. 由字母和数字及& ...
- Gradle学习第一篇——自定义Gradle插件
纸上得来终觉浅,绝知此事要躬行. 自定义Gradle插件有三种方法,各有优劣处,同类博客文章很多但是有的语法已经过时了,笔者运行环境 Android Studio Dolphin && ...
- Android 自定义gradle插件
android自定义gradle插件的步骤 1.首先我们新建一个android项目 2.然后新建一个android module a.删除一些不需要的文件目录,然后新建groovy,resources ...
- Android如何自定义Gradle插件
Android-如何自定义gradle插件 自定义gradle插件可以实现定制自己的构建流程,以达到复用目的: ##1. 自定义插件方式 自定义插件有三种方式 添加脚步 在你的app项目的build. ...
- 【错误记录】自定义 Gradle 插件报错 ( Could not find implementation class x for plugin x specified in jar:file )
文章目录 一.报错信息 二.解决方案 一.报错信息 参考 [Android Gradle 插件]自定义 Gradle 插件模块 ④ ( META-INF 中声明自定义插件的核心类 | 在应用中依赖本地 ...
最新文章
- 三维目标检测算法原理
- Session丢值的问题
- asp.net访问被拒绝,程序集无法加载原因与解决方法[摘录]
- Codeforces Round #375 (Div. 2) D. Lakes in Berland 并查集
- 条件概率、全概率公式与贝叶斯公式
- JavaScript公共运行库
- 深入理解Spring异常处理
- 多年软件测试大牛分享成长经历,一个好的软件测试工程师应该做到这些!
- 本人原创,如何应用firebug突破新浪ishare下载限制
- Php clearstatcache() 函数详解
- Easy RM to MP3 Converter漏洞分析报告
- 如何测试硬盘软件,win10系统怎么用硬盘检测工具HDTune【图文】
- 浅谈互联网寒冬与经济形势
- .NET基础-18-html中各种常用标签
- 2021-03-11 Android 异常情况下长按power按键10s关机或者重启
- 利用API爬取QQ音乐评论
- 卫生洁具安装工艺标准
- 2010.12.29(2)——— android GridView
- 电脑右下角图标不显示
- 嵌入式 STM32 串口波特率生成器BRR的值计算笔记