相信大家做Android开发也常用很多第三方库,有时候就在想啥时候自己也能做个依赖库,大家就能用了……
之前做组件化项目,抽出来一个base层,什么BaseActivity啊,fragment啊,另外封装的MVVM模式的各种Activity啊,远程依赖就可以很方便能用了,该多好~
经过了解,我发现实现这个有好几种方法,首先第一种,可以发布你的代码到github仓库,需要进行相关配置;第二种,可以发布你的代码到阿里云效库,当然也需要配置然后生成你的第三方库依赖。其他方式未知……以后有时间再试
但我这里就使用最简单的辣种吧!
推送你的模块代码到阿里云效生成自己的第三方库
第一步:在阿里云官网注册完并实名认证和创建自己的团队
第二步:来到这里阿里云效Packages来点击Maven仓库:生产库-release,根据它的gradle配置操作
在想要作为依赖库的模块的build.gradle中配置如下代码:(经过实践,与直接copy的gradle配置有些微差别)
//ali云效-设置仓库凭证
apply plugin: 'maven-publish'
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
from components.release
groupId = '***' //包名-随便起
artifactId = project.name //别名-随便起
version = '***' //版本号
artifact generateSourcesJar
}
}
repositories {
maven {
url = "https://packages.aliyun.com/maven/repository/2106192-release-c13sb7/"
credentials {
username = '********'
password = '********'
}
}
}
}
}
第三步:推送该模块到远程库
打开AndroidStudio的右上角gradle,通过Task推送,点击publish就可以了
对应的是配置中你起的Task名字
afterEvaluate { publishing {}
}
之后刷新一下云效的网站,就能看到远程依赖库上传成功了
上传做完了,如果其他项目想要依赖这个库,怎么办?
只用那个compile可以吗?答案是不可以
需要另行配置,这是因为阿里云的这个仓库是针对的私人,只能自己用,无法大家一起用,比如github的仓库。
当然如果就是要别人也能用呢,怎么办?【我很信任他,他能随便改我的库,我给了他我的仓库密码】
//远程自建仓库下载配置
maven {
url 'https://maven.aliyun.com/repository/public'
}
maven {
url = "https://packages.aliyun.com/maven/repository/*******" //线上版
credentials {
username = '******'
password = '******'
}
}
maven {
credentials {
username '*******'
password '*******'
}
url 'https://packages.aliyun.com/maven/repository/*******/' //快照版,可覆盖
}
把上面的代码放在想要依赖这个库的项目的build.gradle中就可以了