Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android 上传aar到私有maven服务器的示例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

在gradle中新建task

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

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

其中代码

apply plugin: 'maven'

表示我们要应用的插件

@H_135_0@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

这个错误具体截图所示:

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

根据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'

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

大佬总结

以上是大佬教程为你收集整理的android 上传aar到私有maven服务器的示例全部内容,希望文章能够帮你解决android 上传aar到私有maven服务器的示例所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。