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

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

目录
  • 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

标签:Android,打包上传,maven仓库,AAR文件
0
投稿

猜你喜欢

  • java Map接口子类HashMap遍历与LinkedHashMap详解

    2021-11-18 04:43:38
  • Spring容器-BeanFactory和ApplicationContext使用详解

    2022-03-20 07:02:45
  • Spring Boot CLI使用教程

    2023-03-30 03:37:02
  • Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡

    2023-08-30 21:30:38
  • Java面向对象基础知识之抽象类和接口

    2023-02-10 03:02:58
  • Javaweb动态开发最重要的Servlet详解

    2023-04-09 20:11:17
  • java搜索无向图中两点之间所有路径的算法

    2023-11-10 09:28:26
  • 详解Java中的Lambda表达式

    2023-06-05 01:37:16
  • Javafx实现国际象棋游戏

    2021-07-21 18:39:47
  • Java 从互联网上爬邮箱代码示例

    2022-02-27 16:40:57
  • java实现静默加载Class示例代码

    2023-12-18 22:06:52
  • Spring注解配置实现过程详解

    2022-04-06 11:12:52
  • JAVA调用SAP WEBSERVICE服务实现流程图解

    2023-11-07 03:54:57
  • 10分钟带你理解Java中的弱引用

    2023-02-09 10:35:55
  • 关于Java中的try-with-resources语句

    2022-10-21 16:49:54
  • Android实现动画效果详解

    2022-04-19 20:37:43
  • 轻松掌握Java迭代器模式

    2023-11-29 03:15:22
  • C#检查foreach判读是否为null的方法

    2021-10-28 01:37:24
  • 详解JAVA中priorityqueue的具体使用

    2022-05-17 22:53:50
  • Java单例模式分析

    2023-11-16 03:17:06
  • asp之家 软件编程 m.aspxhome.com