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'

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

时间: 2024-10-31 01:26:52

android 上传aar到私有maven服务器的示例的相关文章

Android Studio 上传aar(Library)到JCenter

目的 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,发布自己的android library(也就是aar)到公共的jcenter仓库. 为什么选择JCenter,因为JCenter现在是Android Studio中repositories的默认节点了,之前是Maven的,不过JCenter是兼容Maven的. 环境 Android Studio 2.2.3 参考资料 http://www.jianshu.com/p/c4f4894ad215 http://www.ji

Android上传多张图片到服务器

问题描述 Android上传多张图片到服务器 单张上传我已经成功了,不知道怎么处理多张图片上传,求求求求解!!! 解决方案 http://download.csdn.net/download/javalishilong/6312977 解决方案二: private void toUploadFile(File file String fileKey String RequestURL Map param) { String result = null; requestTime= 0; long

android 上传文件到服务器

问题描述 android 上传文件到服务器 已知文件存放路径,例如"/sdcard/abc.doc",如何用最简单的语句将其上传到一个网络申请的空间(地址已有),跪求解答,很急!!! 解决方案 Android 上传文件,图片.以及服务器端接收相关. 解决方案二: 不应该先将其变成File对象,完了作为参数传给服务器端吗?服务器端做处理啊..

android上传多图片~PHP做服务器~~~怎么做

问题描述 android上传多图片-PHP做服务器---怎么做 android上传多图片-PHP做服务器---求大神求救 解决方案 php不懂,android就用post上传啊!你可以搜搜,很多的 解决方案二: PHP服务器用wamp搭建就行了, 然后写一个处理图片上传的PHP文件,网上应该有,直接查找就行. 最后就是在android上传,post给你写好的PHP图片处理文件. 其实都可以在度娘那里问到

android 上传文件到服务器代码实例

android对于上传文件,还是很简单的,和java里面的上传都是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要一些content-type这些参数的配置!  如果这些都弄好了,上传就很简单了!   下面是我写的一个上传的工具类:复制代码 代码如下:package com.spring.sky.image.upload.network; import java.io.DataOutputStream;import java.io.File;import java.io.Fi

如何上传文件到阿里云服务器?

如何上传文件到阿里云服务器?下面,武汉捷讯小编给大家分别针对Windows服务器与linux服务器分享上传文件的方法,希望对大家有所帮助.阿里云湖北服务中心:武汉捷讯信息技术有限公司 一.向Windows服务器上传下载文件方式  方法有很多种,此处介绍远程桌面的本地资源共享方法. 1.运行mstsc,连接远程桌面的时候,点"选项>>" 2."本地资源"-->详细信息. 3."磁盘驱动器"前面打钩. 4.连接远程电脑后,打开&qu

ftp-FTP上传文件错误:远程服务器返回错误: (500) 语法错误,无法识别命令

问题描述 FTP上传文件错误:远程服务器返回错误: (500) 语法错误,无法识别命令 在C#中写了一个FTP帮助类,上传文件的时候调用Stream strm = reqFTP.GetRequestStream();报异常,异常内容:远程服务器返回错误: (500) 语法错误,无法识别命令.代码运行在windows server 2008 r2上,我本地windows7上运行代码文件是能上传的,那一处代码没有报异常,求解!!! 解决方案 我曾经在win2008 r2和win7都装过serv-u,

上传多图异常-安卓客户端上传多图到PHP服务器,出现SocketTimeOutException

问题描述 安卓客户端上传多图到PHP服务器,出现SocketTimeOutException 将图片解析成二进制流向PHP服务器上传多图,出现SocketTimeOutException,PHP部署在SAE上.IOS端上传图片用的是form传图,也出现了超时的问题,有高手知道可能的原因是什么吗?统计的失败率安卓和IOS传图的失败率都是25%左右. 解决方案 SocketTimeOutException,超时了,要么连不上,要么网络不好,要么服务端问题 解决方案二: 客户端和服务端可以把网络连接的

JAVA技术实现上传下载文件到FTP服务器(完整)_java

具体详细介绍请看下文: 在使用文件进行交互数据的应用来说,使用FTP服务器是一个很好的选择.本文使用Apache Jakarta Commons Net(commons-net-3.3.jar) 基于FileZilla Server服务器实现FTP服务器上文件的上传/下载/删除等操作. 关于FileZilla Server服务器的详细搭建配置过程,详情请见 FileZilla Server安装配置教程 .之前有朋友说,上传大文件(几百M以上的文件)到FTP服务器时会重现无法重命名的问题,但本人亲