# sdk **Repository Path**: courage822/sdk ## Basic Information - **Project Name**: sdk - **Description**: 这是关于maven sdk的demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-30 - **Last Updated**: 2024-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SDK上传nexus仓库与上传阿里仓库对比 #### 介绍 这是关于本地maven sdk的demo #### 操作步骤 1.安装maven管理的一个工具nexus 2.制作AAR 3.网站上传AAR 4.代码上传AAR #### Nexus下载 https://pan.baidu.com/s/1SWjOypj0xUGMqSMjl_VyVQ 提取码: yci6 #### 修改相关配置 1.进入到nexus-3.12.0-01\etc文件下 ,按需修改nexus-default.properties配置文件 2.然后可以使用http://127.0.0.1:8081的地址打开,然后右上角登录,账号默认admin 密码 admin123 初始化密码在 sonatype-work文件夹下 3.打开cmd进入到安装目录下bin目录下打开 nexus.exe /run 4.创建module生成aar 5.上传aar到从左边切换到Browse菜单下的maven-releases #### 引用maven仓库 1.添加maven仓库地址 ``` repositories { maven { url 'http://127.0.0.1:8081/repository/maven-releases' //这个路径就是Browse下maven-release右边有一个copy按钮,复制出来的。 } } ``` 2.引用maven仓库 ``` implementation 'com.example.mylibrary:Demo:1.3.0@aar' 初始化引用需要添加arr 完整配置添加uploadArchives无需添加aar ``` #### 配置gradle自动上传生成依赖 1.libray库下 添加apply plugin:'maven' 2.android目录下添加如下配置 ``` uploadArchives { configuration = configurations.archives repositories { mavenDeployer { repository(url: 'http://127.0.0.1:8081/repository/maven-releases/') { authentication(userName: 'admin', password: 'courage123456') } pom.project { version '1.3.0' artifactId 'Demo' groupId 'com.example.mylibrary' packaging 'aar' description 'update version 1.3.0' } } } } ``` 3.以后每次生成 直接点击侧边栏 Gradle 中的upload即可 # 阿里仓库操作 ### 地址 1.阿里仓库地址https://maven.aliyun.com/mvn/guide ![](ali_nexus.png) ### 上传方式 版本号一定要一致,否则无法下载 ``` uploadArchives { repositories { mavenDeployer { repository(url: 'https://packages.aliyun.com/maven/repository/2125117-release-hoS8Gv/') { authentication( userName: '6103c3ad1069a2b0994694cb', password: 'A]_-vI(jMwYg' ) } snapshotRepository(url: 'https://packages.aliyun.com/maven/repository/2125117-snapshot-vVyPHT/') { authentication( userName: '6103c3ad1069a2b0994694cb', password: 'A]_-vI(jMwYg' ) } pom.version = '1.2' pom.artifactId = 'demo' pom.groupId = 'com.example.mylibrary' } } } ``` 当用户开通了 Maven 私有仓库服务后,云效会为用户生成两个私有仓库, 一个用于存放 release 版本的二方库,一个用于存储 SNAPSHOT 版本的二方库。 release 仓库地址示例: https://packages.aliyun.com/maven/repository/2125117-release-hoS8Gv/ release 仓库地址示例: https://packages.aliyun.com/maven/repository/2125117-snapshot-vVyPHT/ ### 总结 snapshot类型仓库:每次构建项目时从远程仓库中检出一份新的快照版本 release类型仓库:重复推送,并不会覆盖远程仓库的jar包,必须删除之前的版本,或者升级版本号进行再次推送到私服