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

android上传aar到私有maven服务器的示例

这篇文章主要介绍了android上传aar到私有maven服务器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

搞这个东西也是花了蛮长时间,主要还是对gradle中的groovy语言不熟悉所导致的,写下来,以防下次再入坑~

在gradle中新建task

如果你需要将某个module打包成aar,并上传到maven上去,需要在这个module下面的build.gradle文件中添加如下代码:

这里写图片描述

其中代码:

apply plugin: 'maven'

表示我们要应用的插件。

MAVEN_LOCAL_PATH表示maven服务器地址,packaging表示需要打包的类型,groupId:artifactId:version,就是我们需要依赖的字段。

上传aar到maven服务器

在studio中打开控制台,执行命令

./gradlew uploadArchives

就能看到log一直跑,直到99%上传aar,如果提示buildSuccessful,那祝贺你,你已经将aar文件上传到maven服务器了。

上传时遇到的问题

执行上传任务时,其实遇到蛮多问题的,这里记住几个就都写下来~

fail to resolve: TestProject:datalibrary:unspecified

解决办法:将

compile 'com.android.commonlibrary:datalibrary:0.1.0'

改为

compile 'com.android.commonlibrary:datalibrary:0.1.0@aar'

详情请见http://stackoverflow.com/questions/36114259/errorfailed-to-resolve-android-iconicslibrary-coreunspecified

return Code 401

解决办法:这是上传的账号密码不对,请跟maven仓库管理员认真核实申请的账号密码。

Fix the issues identified by lint

这个错误具体截图所示:

根据log提示,我们需要在每个module的build.gradle文件中的android域内添加代码

android{
  lintOptions{
  abortOnError false
 }
}

记住,是每个module都得添加,不然还是会出错,血淋淋的教训呐

声明需要引用的maven服务器

在我们主工程的最外层的build.gradle中,添加如下代码:

allprojects {
 repositories {
  jcenter()
  maven {
   url "http://192.168.1.107:9999/repository/commonlibrary/"
   credentials {
    username 'louxiaohui'
    password '111111'
   }
  }
 }
}

注意:由于现在经常用的jcenter,bintray,nexus,aar包都是public的,所以声明maven服务器时,不需要设置账号密码,但是对于有些设置了账号密码的,就得添加代码进行认证~

credentials {
 username 'louxiaohui'
 password '111111'
}

PS: 这都是血淋淋的教训,由于对groovy语言不熟悉,我对credentials这个关键字都找了好久,才知道这货是用来认证账号密码的。。。

引用aar

这个就简单啦,代码大家应该都很熟悉,在需要引用此aar的 module中的build.gradle文件中,添加如下代码:

compile 'com.android.commonlibrary:datalibrary:0.1.0'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • Gty的二逼妹子序列 - 分块与莫队算法的应用
    Autumn 和 Bakser 正在研究 Gty 的妹子序列,但遇到了一个难题。他们希望计算某个区间内美丽度属于 [a, b] 的妹子的美丽度种类数。本文将详细介绍如何利用分块和莫队算法解决这一问题。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 本文介绍了Memcached分布式集群中的取模算法和一致性哈希算法的原理及其对缓存命中率的影响。通过详细分析,探讨了如何优化这些算法以提高系统的稳定性和性能。 ... [详细]
  • 一个初秋的雨夜,我独自漫步在校园的小道上,心中突然涌起对理想爱情的憧憬。这篇文章将分享我对理想伴侣的期望,以及与他共度美好时光的愿景。 ... [详细]
  • 本文介绍了Spring 2.0引入的TaskExecutor接口及其多种实现,包括同步和异步执行任务的方式。文章详细解释了如何在Spring应用中配置和使用这些线程池实现,以提高应用的性能和可管理性。 ... [详细]
  • 我有一个从C项目编译的.o文件,该文件引用了名为init_static_pool ... [详细]
  • 本文详细介绍了如何在PHP中记录和管理行为日志,包括ThinkPHP框架中的日志记录方法、日志的用途、实现原理以及相关配置。 ... [详细]
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社区 版权所有