Android 使用Nexus搭建Maven-上传使用aar

一、相关知识点

1.什么是Maven?

Maven 是一个项目管理和自动构建工具。Maven 包集中存放的地方,就是 Maven 仓库。这些仓库,可以是放在本地,也可以放在某个远程服务器上。 可以是私有仓库,也可以是公开的。
在Android上的使用方式如下:


allprojects {
    repositories {
        mavenCentral();
        jcenter()
        maven {
            url 'file:///Users/my-user-name/Documents/Android/repo/'
        }
        maven {
            url 'http://localhost:8081/nexus/content/repositories/releases/'
        }
    }
}

2.什么是Gradle?

Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持mavenIvy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovybuild脚本使用Groovy编写。
Android支持的Maven仓库:

  • mavenCentral 是最早的 maven 中央仓库
  • jcenter 是 Android Studio 0.8 版本起的默认 maven 中央仓库
  • 本机的仓库
  • 部署在内网服务器的私有仓库

3.Nexus仓库

仓库类型:

  • hosted(宿主仓库):用来部署自己,第三方或者公共仓库的构件
  • proxy(代理仓库):代理远程仓库
  • virtual(虚拟仓库):默认提供了一个 Central M1虚拟仓库 用来将maven 2适配为maven 1
  • group(仓库组):统一管理多个仓库

Public Repositories: 仓库组

  • 3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
  • Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库
  • Central: 用来代理maven中央仓库中发布版本构件的仓库
  • Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
  • Codehaus Snapshots: 用来代理CodehausMaven仓库的快照版本构件的仓库
  • Releases: 用来部署管理内部的发布版本构件的宿主类型仓库
  • Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库

4.什么是AAR?

AAR文件是Google为Android开发所设计的一种library格式,全名为Android Archive Library, 与Java Jar Library不同的地方是AAR除了java code之外也包含res,也就是一些图片、文字等 资源文件。会设计形式的类别库是因为Google在Android SDK tool r14之后开始支持Library Project的开发方式,这种Library Project可以说是Android APP的半成品,其目标并不是制作成APK来执行,而是提供现成的View/Activiy等一些资源给其他开发者使用。而 AAR正是这种Library Project编译后的压缩包,压缩后只需传递单一文件即可分享,可以说是相当方便。

二、Maven库搭建(Nexus服务)

在本地搭建Maven库服务,用来上传常用代码库,便捷Android 项目开发使用

1.下载Nexus

打开 https://help.sonatype.com/
在这里插入图片描述

以下是对应系统下载相应文件
在这里插入图片描述

2.解压并运行nexus

2.1 通过命令行解压nexus-3.38.1-01-mac.tgz
tar xvzf nexus-3.38.1-01-mac.tgz
2.2 运行nexus,默认启动8081端口
./nexus run
./nexus start(首次无法启动)
2.3 验证是否运行成功

打开 http://127.0.0.1:8081/

在这里插入图片描述

3.登录并修改默认密码

登录(首次登录需要登录admin用户,密码在 /sonatype-work/nexus3/admin.password 中)
登录成功后会提示修改密码
在这里插入图片描述

4.新建用户

在这里插入图片描述

在这里插入图片描述

5.新建仓库

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.在Android Studio中上传aar包

6.1引用本地maven库

在这里插入图片描述

allprojects {
    repositories {
        mavenLocal()
    }
}
6.2 上传aar到maven库中

在这里插入图片描述

uploadArchives {
    repositories.mavenDeployer{
        repository(url:"http://127.0.0.1:8081/repository/com.kangxiao.libs/"){
            authentication(userName:"kangxiao",password:"kang123456")
        }
        pom.version="0.0.1"
        pom.artifactId="kxlib"
        pom.groupId="com.kangxiao"
    }
}

引入maven插件
在这里插入图片描述

plugins {
    id 'com.android.library'
    id 'kotlin-android'
    id 'maven'
}

7.在项目中引用库

注意事项:如果没有打开匿名访问的话,需要配置帐号密码
如果允许匿名访问的话,不需要配置帐号密码

在这里插入图片描述

在app下build.gradle引用依赖

在这里插入图片描述

好了,到这就可以用了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值