上传Android项目到jcenter

上一篇文章中介绍的是上传到本地仓库(通过maven上传到本地仓库),这篇来说说怎么上传到网络上的开源库,就像GitHub上的开源项目中提供的一行依赖,放到项目中AS就能直接从网络上下载到本地。

参考了鸿洋大神的博客:Android 快速发布开源项目到jcenter

关于jcenter

AS默认使用的maven仓库是jcenter,查看项目根目录的build.gradle中有这行配置表示,如下图
这里写图片描述

这里如果只有jcenter配置,那么我们Module中的build.gradle中所有的依赖都是通过jcenter远程开源库下载的,这里也可以配置本地的maven路径,如果配置多个,AS会同时去配置的路径中查找,只要找到就可以。

这里要说的是,GitHub上的依赖,AS通过依赖去下载的是一个jar或者是一个aar,是不会把整个开源项目下载下来的,所以我们是把自己项目的打成一个jar或者aar上传到jcenter库,然后jcenter就会生成一个路径,这个路径就是我们在AS中依赖项目的那个路径,通过它AS就能下载对应的jar或者aar到本地。

注册bintray

jcent这个maven库是有bintray来维护的,所以我们要去bintray网站上注册账号,创建对应的jcenter库,然后将我们自己的Android项目上传上去,注册地址:bintray,进入这个页面以后是因为的,这里要注意注册的时候要使用右边的链接去注册,左边的链接注册完成登录以后常见库之前要先创建一个组织,会导致后边的很多问题
这里写图片描述

创建自己的jcenter库

注册完以后,登录上要创建一个Repository(仓库)

创建仓库
这里写图片描述

选择公共类型,和仓库的类型为maven,起个名字
这里写图片描述

仓库详情页面
这里面的package的意思就是我们上传的Android库,一个仓库里可以上传很多个Android仓库

这里写图片描述

保存key
在我们注册完账号以后,网站会生成一个唯一的key,我们先保存下来,后面的操作会用到,步骤如下图
首先点击Edit
这里写图片描述

然后API key
这里写图片描述
输入密码就能过看到了,保存下了,这个不能让别人看到。

到这里页面的操作告一段落,接下来是在AS上配置脚本上传本地库的aar或者jar到这个库里面,上传完毕之后在这里就会显示出我们上传的库文件的具体内容。

配置脚本

首先要明确的一点是,既然是上传aar或者jar,就需要我们的module是一个Library,只有是一个Library才能打成jar或者aar,接下来我们要做的操作就是配合脚本上传到我们项目到刚才生成的jcenter库中。

关于脚本的配置有两种方式,一种是使用gradle-bintray-plugin插件来配置,一种是使用bintray-release插件来配置,这两种我都试了一下,发现使用后一种方式要简单,所以推荐使用bintray-release插件来配置脚本。

首先,在项目根目录的build.gradle中添加bintray插件classpath 'com.novoda:bintray-release:0.3.4',如图
这里写图片描述

然后在要上传项目下的build.gradle中添加插件apply plugin: 'com.novoda.bintray-release',如图
这里写图片描述

最后在第二步中相同的build.gradle文件的最后添加如下配置:

publish {
    userOrg = 'staticzhang'//bintray.com用户名
    repoName = "csdn"   //bintray上常见的仓库的名字
    groupId = 'com.emm'//groupId  一般为包名
    artifactId = 'util'//artifactId 一般为项目名称
    publishVersion = '1.0.0'//版本号
    desc = 'this is a util'//描述,不重要
    website = 'https://github.com/staticzh/util'//网站,一般是GitHub的项目地址,一定要是可以访问到的地址
}

完整的build.gradle内容如下
这里写图片描述

红色框框的部分是额外添加的内容,关于groupIdartifactId我的上一篇文章中有介绍点这里

这里就不在说明现在脚本就写好了,其实就做了两件事,一:添加插件,二:给字段赋值。原理就是我们添加的插件里已经写好了上传到jcenter的脚本,但是每个人的一些特有的字段需要自己定义,比如用户名、仓库名等,所以这些字段就需要我们自己来配置,接下来就是执行脚本。

执行脚本

在要上传项目的根目录执行以下命令:gradle clean build bintrayUpload -PbintrayUser=staticzhang -PbintrayKey=xxxxxxxxxxxx -PdryRun=false

PbintrayUser是你的用户名,PbintrayKey是在上面保存的key,dryRun是一个配置参数,当为true的时候,会运行所有的环节,但是不会上传。

执行完脚本以后,提示BUILD SUCCESSFUL 表示上传成功,再来看bintray网站创建的对应的仓库中
这里写图片描述

已经出现了util这个库,点击进入看看详情
这里写图片描述
可以看到了左侧的下载链接,但是此时还不能用,要点击右边的Add to JCenter按钮,通过审核才能够使用,点击它之后,会添加一个描述,可填可不填,然后发送,等待审核,当Add to JCenter按钮消失了,表示审核通过,就可以通过网络下载到你的库了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值