热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

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

这篇文章主要介绍了Android打包上传AAR文件到Maven仓库的示例,帮助大家更好的理解和学习使用Android开发,感兴趣的朋友可以了解下

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运行

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…

以上就是Android打包上传AAR文件到Maven仓库的示例的详细内容,更多关于Android打包上传文件到Maven仓库的资料请关注其它相关文章!


推荐阅读
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
  • POJ2263是一个经典的图论问题,涉及寻找从起点到终点的最大载重路径。本文将详细介绍该问题的背景、解题思路及代码实现。 ... [详细]
  • 最近在博客园上发现了一款ViewState解码工具,这是一款非常实用的工具,可以帮助开发者检查ViewState是否正确保存。然而,这也意味着其他人可以通过该工具查看ViewState中的数据,因此隐藏ViewState变得尤为重要。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • 使用 jQuery 实现页面加载进度条
    页面加载进度条是提升用户体验的重要工具,通过在页面头部显示一个加载状态,并在页面完全加载后隐藏,可以有效减少用户的等待焦虑。本文将详细介绍如何使用 jQuery 实现这一功能。 ... [详细]
  • LeetCode 125: 验证回文字符串 (Valid Palindrome)
    本题要求检查给定的字符串是否为回文。在判断过程中,仅考虑字母和数字字符,并且忽略大小写。例如,"A man, a plan, a canal: Panama" 是一个回文。 ... [详细]
  • 本文详细介绍了在Mac平台上安装和配置MySQL的步骤,包括下载安装包、卸载MySQL以及解决命令行中找不到mysql命令的问题。 ... [详细]
  • 本文介绍了如何在Android应用中使用EventBus库在Fragment之间传递参数。通过具体的代码示例,详细说明了EventBus的使用方法和注意事项。 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • QSplitter 使用详解
    阅读《C++ GUI Programming with Qt 4, 2nd Edition》第六章布局管理器中的第三节关于 Splitters 的内容,并尝试实现书中的示例,发现实际效果与书中描述存在差异,尤其是分界线部分。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 经过三轮严格的面试,终于顺利加入沪江网。虽然在团队开发方面还有待提升,但充满信心和期待,希望能在这里不断学习和成长。 ... [详细]
  • WCF类型共享的最佳实践
    在使用WCF服务时,经常会遇到同一个实体类型在不同服务中被生成为不同版本的问题。本文将介绍几种有效的类型共享方法,以解决这一常见问题。 ... [详细]
  • 本文介绍 DB2 中的基本概念,重点解释事务单元(UOW)和事务的概念。事务单元是指作为单个原子操作执行的一个或多个 SQL 查询。 ... [详细]
  • 优化虎牙直播体验的插件
    近期在观看虎牙直播时,发现广告和一些低质量直播间频繁出现,严重影响了观看体验。为此,我开发了一款插件,帮助用户屏蔽这些不想要的内容。以下是插件的介绍和使用方法。 ... [详细]
author-avatar
横着走觉察生活_915
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有