Android 搭建私有maven仓库及上传项目

Posted 王永迪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 搭建私有maven仓库及上传项目相关的知识,希望对你有一定的参考价值。

搭建私有maven仓库及上传项目

前言

在日常工作及项目迭代过程中,一定有不少同学自己写了一些框架性的东西,或者一些好用的工具,总之就是能复用的代码。然而也有不少同学为了复用这些代码不得不复制粘贴到不同项目中,这样相同的功能出现了多份代码,在后期的维护过程中带来极度不便,更新一次SDK要口口传送多次且无法按版本迭代和降级。为了解决这一系列问题,我们不妨尝试将这些代码部署到maven仓库,一处编写多处使用。

Nexus 介绍

Sonatype Nexus 是一个常见的搭建本地私有仓库的工具,详情进入官网查看https://www.sonatype.com/download-oss-sonatype

搭建私有Nexus仓库

下载 Nexus 安装包

https://www.sonatype.com/download-oss-sonatype

解压 Nexus 文件

## 启动 Nexus 服务

nexus-3.15.2-01/bin/nexus start

控制台输出如下:

到此 Nexus 服务已经启动,访问 http://localhost:8081 即可访问 Nexus 私服,

初始账户:admin
初始密码:admin123

android Lib 发布私有仓库

项目配置

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

仓库地址如下:

# Maven仓库的URL
MAVEN_REPO_RELEASE_URL=http://localhost:8081/repository/maven-releases/
# 对应maven的GroupId的值
GROUP=maven-releases
# 登录nexus ossde的用户名
NEXUS_USERNAME=admin
#登录nexus oss的密码
NEXUS_PASSWORD=admin123
# groupid
GROUP_ID=cn.soulapp.android
# type
TYPE=aar
# description
DESCRIPTION=Soul Pay SDK By Android ~

在lib的build.gradle中添加:

// 添加maven依赖
apply plugin: 'maven'

...

// 配置上传指令
uploadArchives 
    configuration = configurations.archives
    repositories 
        mavenDeployer 
            repository(url: MAVEN_REPO_RELEASE_URL) 
                authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
            
            pom.project 
                version '1.0.3'
                artifactId 'AndroidPaySDK'
                groupId GROUP_ID
                packaging TYPE
                description DESCRIPTION
            
        
    

上传 library

执行指令:

./gradlew uploadArchives

等待发布成功~

使用 library

在根目录 build.gradle 加入

buildscript 
    repositories 
        google()
        jcenter()
        // 配置私有仓库地址
        maven 
            url 'http://localhost:8081/repository/maven-releases/'
        
    
    dependencies 
        classpath 'com.android.tools.build:gradle:3.3.1'
    


allprojects 
    repositories 
        google()
        jcenter()
        maven 
            url 'http://localhost:8081/repository/maven-releases/'
        
    


task clean(type: Delete) 
    delete rootProject.buildDir

在依赖此 library 项目中引用

api 'cn.soulapp.android:AndroidPaySDK:1.0.3@aar'

结语

至此,基于 Nexus 搭建私有 Maven 仓库已完成,祝您工作愉快~

以上是关于Android 搭建私有maven仓库及上传项目的主要内容,如果未能解决你的问题,请参考以下文章

Android 搭建私有maven仓库及上传项目

搭建私有Jfrog artifactory仓库并上传Android Library

搭建私有Jfrog artifactory仓库并上传Android Library

搭建私有Jfrog artifactory仓库并上传Android Library

搭建私有Jfrog artifactory仓库并上传Android Library

Android上传私有插件到私有MAVEN-PUBLISH