Android 发布Library 到远程maven 私服仓库(Nexus)

下载Nexus 并配置私库

前言

一、使用Nexus3.x搭建maven私服
    1、下载Nexus
    2、Nexus的安装与配置
    3、Nexus 私服仓库的创建

二、Android Gradle 配置远程maven 脚本

   1、AndroidGradle7.0以前
   2、AndroidGradle7.0以后

前言

很多小伙伴在开发Android的时候,特别是一些ToB项目中,往往要出不同的app,但是依赖的业务流程基本都是一样的,相当于多个app要依赖一个lib。为了方便维护lib,一般做法会有一下几种:

  • 1、将lib 打包成jar(缺点:每次更新都需要打包更新)
  • 2、将lib 提交到github 私有仓,并发布到Jitpack 中(简单方便,但是不方便更新,每次都要提交git后并在github 生成tag才能在jitpack 部署)
  • 3、将lib 发布到Nexus 私有仓,并gradle 部署maven(方便组内其他成员共同维护,且方便发布,只需要更新Gradle 中版本配置并执行Task即可)

而今天要说的就是第三种。

一、使用Nexus3.x搭建maven私服

   1、Nexus 下载地址

   nexus下载地址

   2、Nexus的安装与配置

   1、解压到当前目录

   2、配置本机环境变量
在这里插入图片描述在这里插入图片描述

   3、进入…\nexus-3.38.0-01-win64\nexus-3.38.0-01-win64\nexus-3.38.0-01\etc目录下找到:nexus-default.properties文件

在这里插入图片描述

其中比较关键的几个参数:

application-port:是IP的端口号,默认为8081,如果端口号被占用,自行换成其他端口号

application-host:是你访问的nexus服务器的IP,默认为0.0.0.0(即只要是本机上的IP,就能连上nexus服务器,详解点我)。为了安全和屏蔽掉其他IP,我们可以改访问IP为localhost指向的IP(一般默认指向127.0.0.1,可以去C:\Windows\System32\drivers\etc的hosts文件中查询localhost指向的IP),改成本机上其他IP也可以

注意:如果想让局域网其他设备能访问,一定要关闭防火墙,且网段是一样的!

   4、打开cmd ,输入:
   nexus.exe /run
在这里插入图片描述

   出现以上,说明启动Nexus 成功,再到浏览器输入:http://172.16.4.55:9082/

在这里插入图片描述
以上就说明整个Nexus 包括环境变量、ip、端口 都已经配置完成。

   3、Nexus 私服仓库的创建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
复制URL,至此,Nexus 的私服仓库已经建立完成。下面将是Android Gradle 配置。

二、AndroidGradle配置远程maven脚本

  • 1、AndroidGradle7.0以前
apply plugin: 'maven'
 
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: url//私有maven库地址) {
                authentication(userName//账号, password// 密码)
            }
            pom.version = version // 版本信息
            pom.artifactId = artifactId // 项目信息
            pom.groupId = groupId
            pom.name = name
            pom.packaging = packaging // 打包类型,例如:aar
        }
    }
}

在这里插入图片描述

  • 2、AndroidGradle7.0以后

在lib 中的build.gradle 中配置maven-publish

plugins {
    id 'com.android.library'
    id 'maven-publish'

}

配置版本信息


publishing {
    repositories {
        maven {
            credentials {
                username '仓库发布用户名' 
                password '仓库发布用户密码' 
            }
            url 'http://.....' // 仓库地址

            allowInsecureProtocol = true

        }
    }
}
afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                // 添加以下配置可以自动从编译容器中获取release版本内容(使用debug可以获取debug版本内容),并生成pom文件
                // 注意:发布物声明必须在 afterEvaluate 内部,因为 components 在 afterEvaluate 阶段才生成完成
                from components.release //可以配置成debug 或者release

                version '2.2.3'//版本
                artifactId '名称'
                groupId = 'com.xx.xx'
                description '版本信息'


            }
        }
    }
}

配置完成后,点击AS 右侧栏Task 中的发布即可

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值