========================================================================================
在 Gradle 中发布组件,可以使用以下两个 Maven 插件:
3.1 发布到本地仓库
我们需要使用 Maven 插件的uploadArchives
任务,并且需要指定组件的信息。例如:
模块级 build.gradle
plugins {
id ‘com.android.library’
id ‘kotlin-android’
id ‘maven’
}
…
uploadArchives {
repositories {
mavenDeployer {
// 发布地址:直接发布到项目本地路径
repository(url: uri(’…/repository’))
// 组件信息:com.pengxr.demo:maven:v1.0.0
pom.groupId = “com.pengxr.demo”
pom.artifactId = “maven”
pom.version = “v1.0.0”
}
}
}
执行 Gradle Sync 之后,就可以在 Gradle 窗口该模块的 Tasks 列表中找到名为uploadArchives
的任务。执行任务,完成后项目中会新增一个repository
目录,里面就是新发布的组件。
注意事项:
- 1、升级到 Android Stidio 4.2 之后,如果在 Gradle 栏目中找不到 Task 列表,在设置里取消勾选此项即可:
- 2、无法发布应用模块
plugins {
id ‘com.android.application’ // 无法发布应用模块
id ‘kotlin-android’
id ‘maven’
}
3.2 使用 nexus 搭建私有仓库
发布组件到本地仓库只能单机使用,在实际工作中,我们往往需要将组件发布给其他团队成员使用。此时,可以将组件发布到 局域网私有仓库。最常见的私有仓库管理工具是 Nexus [ˈneksəs]。按照以下步骤搭建环境:
-
1、下载 Nexus 安装包: 这里以 Mac 环境为例:下载地址;
-
2、启动 Nexus 服务进程: 进入安装路径
/nexus-3.30.1-01/bin
,在终端运行命令:
./nexus start
./nexus status
输出:nexus is running. 表示启动成功
需要停止服务时,可以执行命令:
./nexus stop
- 3、浏览器打开 http://127.0.0.1:8081/,进入 Nexus 管理页面
- 4、点击右上角 Sign in 登录: 默认账号名是 admin,首次登录会弹窗提示密码的存储位置(根据指示到相应路径下的文件中找到密码复制粘贴过来),登录成功后界面如下: </