一直想要将自己的代码上传到jcenter上面,这样引用的时候直接将build.gradle文件配置一下就可以了,很方便。
但很无奈,国内的网络不行,捣鼓了很久也捣鼓不出来,于是就想到利用github制作一个maven库,也能够实现我想要的效果。下面是我实现的步骤。
1.新建maven仓库
在github上新建仓库,并clone到本地。如下图所示,我建了一个名为maven的仓库,clone到本地的地址是"/home/huangbei/projects/mvn/maven"
2. 新建工程
新建一个AS工程,并新建一个module,module名称为hpermission
3.配置
在我们编写完模块的代码之后,在module的gradle文件当中加入下面的代码,注意maven的地址写的是我刚才clone到本地的maven仓库。
apply plugin: 'maven'
def MAVEN_REPOSITORY_PATH = 'file:///home/huangbei/projects/mvn/maven'
def GROUP_ID = 'hbuilder.android.utils'
def ARTIFACT_ID = 'permission'
def VERSION_NAME = '1.1'
def PACKAGE_TYPE = 'aar'
uploadArchives{
repositories{
mavenDeployer{
repository(url:MAVEN_REPOSITORY_PATH)
pom.project{
groupId GROUP_ID
artifactId ARTIFACT_ID
version VERSION_NAME
packaging PACKAGE_TYPE
}
}
}
}
4.上传到本地maven库
执行"./gradlew uploadArchives"命令,这时便会把hpermission模块打包并上传到本地的maven仓库里面。
执行完命令之后,我们可以看到本地的maven仓库多了一个文件夹hbuilder,里面存放的就是打包好的hpermission模块
5.上传到github
将本地的仓库上传到github上
那我们的仓库地址是多少呢?打开README.md文件,再点击Raw按钮,
弹出下面的界面,去掉README.md就是我们仓库的地址了,“https://raw.githubusercontent.com/huangbei1990/maven/master/”
6.引用
在项目的build.gradle文件当中的allprojects领域加入自己的maven仓库
然后在需要引用的模块的build.gradle文件当中加入自己想要引用的包就可以了,这样就可以实现想要的功能了。
小结
只要符合maven的规范,无论是码云、github或者是我们自己搭建的maven仓库,只要告诉gradle仓库地址,就可以实现一行代码引入包的功能。