需求
多个应用需要共有的组件
分析
创建本地仓储,需要调用的应用只需要添加gradle就可以调用
过程
搭建Nexus服务端 ,我用的版本是 OSS 3.17.0-01
这个比较简单下载解压缩就可以使用
需要注意两个问题
1.服务器启动比较慢,访问8081端口一直访问不到不要着急,去忙别的,一会回来就启动了
2.默认密码不是admin123,需要把admin.password里面的长字符串复制下来作为默认密码
创建自己的仓储
在Nexus的Settings界面,repositories 页面 选择“create repositorie” (maven2 hosted 类型)
注意“Disable redeploy” 要改成“allow redeploy”
上传component 可以自己上传jar( aar是android的) 或者通过下面的gradle脚本上传
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://10.2.6.33:8081/repository/asysbang/") {
authentication(userName: "admin", password: "admin")
}
pom.project {
name 'test'
version '1.1.0'
artifactId 'libtest'
groupId 'com.asysbang.library'
packaging 'aar'
description 'library for android'
}
}
}
}
在android studio中调用自己的库
在allprojects的repositories标签下添加 maven { url 'http://10.2.6.33:8081/repository/asysbang/' }
注意不是buildscript下面的repositories
最后在需要调用的app的gradle配置中添加“implementation 'com.asysbang.library:libtest:1.1.0'”