Android Studio上传组件模块到私有Maven库

创建仓库

进入Nexus管理可视化界面,登录。

点击以下图中的Repositories

接着点击下图中的Add:

选择添加一个Hosted Repository,填入相应的分支id和分支名称,保存配置。

此时在分支列表会添加一个刚刚创建的分支,我们只需要关注分支后面的地址(假定为:http://112.124.125.126:8081/nexus/content/repositories/abc/),之后配置中需要使用。

配置Android Studio

在项目根目录的gradle.properties中添加以下配置:

1
2
3
4
5
6
7
8
9
10
11
MAVEN_SNAPSHOT_URL=http://112.124.125.126:8081/nexus/content/repositories/abc/
#nexus账号
NEXUS_USERNAME=Nexux中的账号
#账号密码
NEXUS_PASSWORD=Nexux中的账号密码
#maven repository的url
MAVEN_URL=http://112.124.125.126:8081/nexus/content/repositories/abc/
#组id
GROUP_ID=cn.abc.lib
#指定类型,一般为aar
TYPE=aar

接着在项目的根目录的build.gradle中添加以下配置:

1
2
3
repositories {
maven { url "http://112.124.125.126:8081/nexus/content/repositories/abc/"}
}

然后再在对应模块中build.gradle添加以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
apply plugin: 'maven'

uploadArchives {
configuration = configurations.archives
repositories {
mavenDeployer {
snapshotRepository(url: MAVEN_SNAPSHOT_URL) {
authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
}
repository(url: MAVEN_URL) {
authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
}
pom.project {
version "1.0.0"
artifactId "lib-xx"
groupId GROUP_ID
packaging TYPE
description "XX组件化模块"
}
}
}
}
artifacts {
archives file('lib-xx.aar')
}

此时再Sync一下项目,接着跑一下uploadArchives这块的gradle脚本,这个库已经传到私有的maven库上去了。

依赖私有库

如果已经完成以上步骤,那么依赖这个私有库就非常简单了。

在使用的项目根目录的build.gradle中添加以下配置:

1
2
3
repositories {
maven { url "http://112.124.125.126:8081/nexus/content/repositories/abc/"}
}

最后只需要在使用时的module对应的build.gradle文件中增加一行:

1
compile 'cn.abc.lib:lib-xx:1.0.0'
文章作者: Kevin Wu
文章链接: https://kevinwu.cn/p/c49a3a2f/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KevinWu的博客
支付宝打赏