Android Studio发布项目到jCenter

原创 2016年08月26日 15:05:33

概述

在Android开发中,如果我们需要引入一个第三方的库,往往最喜欢的做法是在gradle文件中添加一行引用,然后在代码中就可以使用了,今天来带大家实现这个过程,让我们自己写的东西也能很方便的一行代码引入。接下来按步骤给大家讲解一下。

1.首先创建创建一个Android Library,这个就是我们需要上传的
2.进入下面的网址
https://bintray.com/
登录进去以后,我们需要获取一个key,请看下面的步骤

这里写图片描述

这个key我们在后面的命令行中会使用到,先保存起来
3.配置我们的libarary
在Project的gradle文件里面添加下面的配置

  dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        //添加这一行
        classpath 'com.novoda:bintray-release:0.3.4'
    }

然后在library的gradle文件里面添加

apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'//添加这一行

....

publish {
    userOrg = 'smalllee'//bintray.com用户名
    groupId = 'com.edj'//jcenter上的路径
    artifactId = 'dragview'//项目名称
    publishVersion = 'v1.0.0'//版本号
}

这样我们的配置就算完成了。

4.去binary上进行操作

这里写图片描述

如果是第一次,之前没创建过仓库,需要点击Add New Repository,进入下面的界面
这里写图片描述

注意,这里的仓库明必须要是maven,否则运行命令的时候会报错,下面的Type我们也选maven。

这里我已经创建好了仓库,所以进入仓库,点击创建新的package
这里写图片描述

进入创建页面,填写完信息
这里写图片描述
需要注意的是这里的Name要和我们Project中配置的artifactId 一致,否则会上传失败。

5.运行gradlew命令

gradlew clean build bintrayUpload  -PbintrayUser=SmallLee  -PbintrayKey=3a7b834fb1109091edb5b179b2735acf7c533f57  -PdryRun=false

PbintrayUser是你登录binary这个网站的用户名,我这里使用Github的帐号登录的,所以和Github的用户名保持一直,key就是我们前面获取到的,dryRun是一个配置参数,当为true的时候,会运行所有的环节,但是不会上传。
然后我们在Studio的命令行运行命令。

6.错误解决
在运行命令的过程中可能遇到各种问题,下面把我碰到的问题全部罗列出来,并给出解决办法

错误信息 1:

这里写图片描述

大概意思是说产生JavaDoc的时候出错了,经过网上查找,解决办法如下

allprojects {
    repositories {
        jcenter()
    }
    //加上这些
     tasks.withType(Javadoc) {
        options{ encoding "UTF-8"
            charSet 'UTF-8'
        links "http://docs.oracle.com/javase/7/docs/api"
        }
     }
}

之后又遇到一个错

* What went wrong:
Execution failed for task ':dashview:bintrayUpload'.
> Could not create version 'v1.0.0': HTTP/1.1 401 Unauthorized [message:This resource requires authentication]

错误的大概意思是资源需要验证,经过一番尝试,解决办法如下

publish {
    userOrg = 'smalllee'//bintray.com用户名
    groupId = 'com.edj'//jcenter上的路径
    artifactId = 'dashview'//项目名称
   .....
}

userOrg是bintray上显示的用户名,如下图
这里写图片描述

groupId是库引用的前缀:这里是com.edj.dashview

这里的artifactId 是你之前最初在bintary的maven中创建的那个package的名字,这里需要对应上 否则会上传失败
这里写图片描述

有些朋友有时也可能会遇到下面这个错

* What went wrong:
Execution failed for task ':dashview:bintrayUpload'.
> Could not create package 'smalllee/maven/dashview': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]

出这个错的原因是你创建仓库的时候名称写的不是maven,也就是说你创建仓库的时候应该按照下面的方式,名字必须指定为maven

这里写图片描述

上面的错解决完以后,感觉离成功已经不远了,执行gradlew命令后又遇到一个错

Execution failed for task ':flybanner:bintrayUpload'.
> Could not upload to 'https://api.bintray.com/content/SmallLee/maven/flybanner/1.0.0/com/lxn/flybanner/1.0.0/flybanner-1.0.0-sources.jar': HTTP/1.1 404 Not Found [message:Subject 'SmallLee' was not found]

最后发现,出这个错的原因是因为一次只能上传一个library,如果你此时在其他library里面也进行了上传配置的话,就会报上面的错,这点一定要注意。

7.解决完上面的错误以后,就上传成功了,我们可以看到上传的项目
这里写图片描述

最后选择添加到jcenter
这里写图片描述

之后,我们还要等待审核,审核成功之后就可以使用了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

导入本地aar依赖

现在A项目要用到B项目的某个module(这里暂且命名为netwok)。B项目在编译过后,在network这个module的build/outputs/aar目录下,会生成2个aar文件,如下图所示:...

使用此Adapter,代码量可大大减少

123

如何使Android Studio项目发布到Jcenter中

原文链接:https://segmentfault.com/a/1190000005714422 前言 写这篇文章其实我是痛苦的,哎!说出来都是泪啊。。。今天在JFrog Bintray中不小...

如何在Android Studio中使用Gradle发布项目至Jcenter仓库

简述 目前非常流行将开源库上传至Jcenter仓库中,使用起来非常方便且易于维护,特别是在Android Studio环境中,只需几步配置就可以轻松实现上传和发布。 Library的转换和引用 博主的...
  • xyczero
  • xyczero
  • 2015年03月02日 16:43
  • 532

利用Gradle发布Android Studio项目到JCenter

发布android studio项目到jcenter

Android Studio发布项目到Bintray jCenter

转载请标明出处(请勿转载删除底部微博、微信等信息): http://blog.csdn.net/lmj623565791/article/details/51148825; 本文出自:【刘...

如何在Android Studio上发布项目到Maven和JCenter

如何在Android Studio上发布项目到Maven和JCenter 前言我们在Android Studio过程当中,经常会通过在 build.grade 文件中添加一行代码来引入第三方的库。...
  • ykttt1
  • ykttt1
  • 2016年07月27日 16:45
  • 824

Android Studio 发布项目到Jcenter

简介本文介绍如何发布一个简单的项目到Bintray

Android Studio发布项目到jcenter升级版

上篇文章是通过简单的配置方法进行上传到jcenter,看起来不具有普遍性,故作下文 第一步: 在项目的根 build.gradle中加入如下引入classpath classpath 'com....

Android Studio发布项目到Jcenter

新版的Android Studio会将远程仓库指定为Jcenter,那Jcenter在哪里?它是干嘛的呢? 要回答这个问题,我们要了解一个公司,叫做jfog,它有个网站是Bintray,这个网站...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Studio发布项目到jCenter
举报原因:
原因补充:

(最多只允许输入30个字)