Android将module打包成aar上传至自己的maven仓库

一般一个公司长期开发累计下来,都会总结出一套适合自己业务的sdk出来,譬如扫码组件,地图组件,以供组件化开发,但是如果是以module的形式去依赖,更新的时候就比较麻烦了,不过gradle可以提供远程maven仓库来依赖。
整体上的解决思路分三个步骤:

1.就是在自己公司内部的服务器上搭建一个maven仓库

2.将自己公司的公共类库发布到公司内部服务器的maven仓库上

3.在公司其它项目中配置公司内部服务器maven仓库地址,并引用所需的library,Gradle会自动从服务器maven仓库中获取

1.1
下载:将sonatype nexus oss下载到公司内部服务器上,下载地址:http://www.sonatype.org/nexus/go
确保安装了jdk,然后再进入nexus-x.xx.-x-xx/bin目录下执行命令nexus start即可启动。
打开浏览器http://服务器地址:8081/nexus 我这里是用的自己电脑服务器地址就是 localhost。
点击右上角login登录,默认账号密码为admin/admin123
点击Repositories 就可以看到仓库了。
新增仓库

addrepo

2.1
在自己的library里面新建一个gradle文件,然后再module的build.gradle里面apply引入(apply from: 'upload.gradle'
),当然你也可以直接写在build.gradle里面。
uploadgradle

2.2 新建一个gradle.properties文件(library里面默认是没有这个文件的),方便定义一些常量,这里面定义的常量在gradle里面可以直接访问。
properties

2.3然后再studio右侧的gradle里面可以看到这个task,双击即可运行上传。
gradletask

2.4在下面的run栏则可以看到buildsuccessful。就是代表成功了

buildsucces

2.5这时在我们仓库就可以看到这个包了
reposSucces

在build.gradle里面添加自己的仓库
maven {
url 'http://localhost:8081/nexus/content/repositories/harrychendev/'
}.
3.1 然后再module中引入刚刚定义的 格式为
groupid:atifacti:version
3.2 编译发现正在下载了
gradledowning

3.3 在external Libraries中就可以看到加载成功了
gradledowned

地址:https://github.com/certhon/AndroidGradleMaven

你可能感兴趣的:(Android将module打包成aar上传至自己的maven仓库)