软件编程
位置:首页>> 软件编程>> Android编程>> Android打包上传AAR文件到Maven仓库的示例

Android打包上传AAR文件到Maven仓库的示例

作者:李大腾腾  发布时间:2023-07-02 15:14:14 

标签:Android,打包上传,maven仓库,AAR文件
目录
  • 1、创建 Android 库

  • 2、上传aar包至Maven *

  • 3、其他项目使用

  • 4、QA

1、创建 Android 库

按以下步骤在项目中创建新的库模块:

  1. 依次点击 File > New > New Module。

  2. 在随即显示的 Create New Module 窗口中,依次点击 Android Library 和 Next。

  3. 为您的库命名,并为库中的代码选择一个最低 SDK 版本,然后点击 Finish。

2、上传aar包至Maven *

打开新模块 build.gradle 文件,按如下说明修改:


plugins {
 id 'com.android.library'  // 库模块
 id 'kotlin-android'  
 id 'maven'// 引入maven plugin
}

def snapshotVersionCode = 101
def snapshotVersion = "1.0.1"

/* 此处省略 android{} 相关配置 */

dependencies {
 // 友盟基础组件库(所有友盟业务SDK都依赖基础组件库)
 implementation "com.umeng.umsdk:common:9.3.6"
 implementation "com.umeng.umsdk:asms:1.2.0"
 implementation "com.umeng.umsdk:apm:1.1.1"
}

/*快照版 maven上传*/
uploadArchives {
 configuration = configurations.archives
 repositories {
   mavenDeployer {
     repository(url: 'http://nexus.xxxxx.com/repository/maven-snapshots') {
       authentication(userName: 'userNameXXXX', password: 'passwordXXXXX')
     }

pom.project {
       version snapshotVersion + '-SNAPSHOT'
       artifactId 'lib-umeng'
       groupId 'com.xxxxx'
       packaging 'aar'
       description 'lib-umeng Initial submission'
     }
   }
 }
}

上传aar 到maven
选择右侧Gradle > Module Name > upload ,双击uploadArchives运行

Android打包上传AAR文件到Maven仓库的示例

3、其他项目使用

Project build.gradle添加 maven


allprojects {
 repositories {

/* 此处省略了其他配置 */

maven { url 'https://dl.bintray.com/umsdk/release' }  // umeng.umsdk相关maven
   maven { url 'https://nexus.xxxxx.com/repository/maven-snapshots' }  // 刚刚aar上传的maven
 }
}

Module 中引用,build.gradle添加如下引用


dependencies {
 api ('com.xxxxx:lib-umeng:1.0.1-SNAPSHOT@aar') {// 刚刚生成的aar
   implementation "com.umeng.umsdk:common:9.3.6"// 注意,aar implementation的依赖需要重新引用
   implementation "com.umeng.umsdk:asms:1.2.0"
   implementation "com.umeng.umsdk:apm:1.1.1"
 }
}

4、QA

maven上传报错:


Execution failed for task ':lib-umeng:uploadArchives'.
\> Could not publish configuration 'archives'
\> Failed to deploy artifacts: Could not transfer artifact com.xxxxx:lib-umeng:aar:1.0.1 from/to remote (http://nexus.xxxxx.asia/repository/maven-snapshots): Failed to transfer file: http://nexus.xxxxx.asia/repository/maven-snapshots/com/xxxxx/lib-umeng/1.0.1/lib-umeng-1.0.1.aar. Return code is: 400, ReasonPhrase: Repository version policy: SNAPSHOT does not allow version: 1.0.1.

解决:version snapshotVersion + '-SNAPSHOT' 标记:-SNAPSHOT

参考:developer.android.com/studio/proj…

来源:https://juejin.cn/post/6941207210793893895

0
投稿

猜你喜欢

  • 一、业务背景有些业务请求,属于耗时操作,需要加锁,防止后续的并发操作,同时对数据库的数据进行操作,需要避免对之前的业务造成影响。二、分析流程
  • 前言现在一般很少有用Android原生app发送邮件的需求,但是前段时间公司项目需要在Android app 内部发送邮件,于是就在网上收集
  • 我们经常会希望在程序中写入一些配置信息,例如版本号,以及数据库的连接字符串等。你可能知道在WinForm应用程序中可以利用Propertie
  • 引言在App日益追求体验的时代,优秀的用户体验往往会使产品脱颖而出。今天我们就来介绍一种简单的滑动ListView来显示或者隐藏ToolBa
  • 首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是Li
  • 本篇文章会向大家实例讲述以下内容:将数组转换为List将List转换为数组将数组转换为Dictionary将Dictionary 转换为数组
  • 前言上一节我们搭建起了服务注册中心,为各个服务提供者和消费者提供一个桥梁,这一节我们搭建一个服务提供者,注册到注册中心开源地址:https:
  • Java实现Dijkstra输出指定起点到终点的最短路径前言:最近在公司参加了一个比赛,其中涉及的一个问题,可以简化成如是描述:一个二维矩阵
  • 前言:本质上来说,CoreCLR 也是 C++ 写的,所以也逃不过用 虚表 来实现多态的玩法, 不过玩法也稍微复杂了一些,希望本篇对大家有帮
  • 一、前言高效、合理的使用hibernate-validator校验框架可以提高程序的可读性,以及减少不必要的代码逻辑。接下来会介绍一下常用一
  • 大家可能在做app的时候,或多或少需要使用联系人,而根据google提供的api,你需要编写大量的代码,例如首先需要查询数据库,涉及到数据库
  • .ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管window
  • 逆转交替合并两个链表,即从一个链表的尾指针指向另一个链表的尾指针,依次逆转交替进行合并。下面就通过实例来详细的介绍该逆转交替合并两个链表的思
  • 前言最近在开发项目的时候涉及到复杂的动态条件查询,但是mybaits本身不支持if elseif类似的判断但是我们可以间接通过 chose
  • 一、简介虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行
  • 本文实例讲述了Java对象数组定义与用法。分享给大家供大家参考,具体如下:所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中
  • 最近正式入坑Flutter,首先从环境搭建开始,看了网上好多关于Windows环境搭建的资料,基本都是按官方文档写的,看完的感受是,还不如直
  • 下面是 Java 线程相关的热门面试题,你可以用它来好好准备面试。1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程
  • 前言本文主要给大家介绍了关于Java中Unsafe类的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧1.Unsaf
  • 概述JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScri
手机版 软件编程 asp之家 www.aspxhome.com