本文详解如何在androidStudio中,搭建以及使用maven本地仓库
搭建
从无到有
1. 创建一个javaLibrary, module名字自取.
2. 找到这个module的build.gradle文件
此时,右侧Gradle栏目中,zzsyc的Tasks是长这样:
接下来我们进行处理:
在配置publishing闭包的时候
publishing {//然后进行发布配置
publications {
zzsycChannelPlugin(MavenPublication) {//zzsycChannelPlugin 是发布配置命令的名字
from components.java // 这个命令来自java
groupId = 'com.zhou.plugins' //插件包名,在此插件被引用的时候必须写成一摸一样
artifactId = 'channelPlugin' //插件名,在此插件被引用的时候必须写成一摸一样
version = '1.2'//插件版本号
}
}
}
要特别注意3个参数:
groupId 这是maven的群组ID, artifactId 是插件名,version是插件版本号,三者完全匹配才能准确定位到一个插件,定义插件的时候可以随便写,但是使用插件的时候,必须一毛一样,否则编译失败,说找不到插件。
3. 新建java类,编辑插件逻辑
最最简单的插件,也必须有两个类,一个 impelement Plugin<Project>
,一个 extends DefaultTask
4. 创建插件配置文件
这里要特别注意:
这里有3级目录,resources / META-INF / gradle-plugins
,然后才是文件名:hank.zhou.plugin.properties
这里的目录,必须创建成一摸一样,否则,会有未知错误。
5. 发布插件到mavenLocal
如果上述过程都完成,而且没有报编译错误,那么就可以发布插件到mavenLocal:
注:如果刚才的java代码中存在中文,那么,你有可能会看到:
此时,只需要将文件的编码格式从utf-8改为GBK即可:
如果顺利,就会发布成功:
我们到本地的maven仓库目录下去找找看:
发布成功!
使用本地gradle插件
使用的时候,两个步骤:
1. 在全局build.gradle 文件中,加入两个部分:
注:这里classpath 'com.zhou.plugins:channelPlugin:1.2'
也是分为3个部分,一个groupId,冒号后面接,artifactId,冒号,接版本号.
2. 在app module的build.gradle中, 引用此插件
注意,上图中,apply plugin: 'hank.zhou.plugin'
是新增的代码。其中 hank.zhou.plugin 是和 hank.zhou,plugin.properties 的文件名是一摸一样的.
gradle同步成功之后,就能看到我们自定义的Task:
如果你还没有搭建maven本地仓库的话
1. 先去官网下载maven最新版:
2. 下载好之后,解压到本地,并且进入bin目录
3. 在此处打开cmd,输入mvn help:system 回车
直到:
才算搭建成功!之后就可以在用户目录下找到.m2 文件夹,从而找到自己发布的插件.