Android如何发布项目到jcenter/maven,在gradle中compile自己的开源库

背景:Android开发者在自己码完一个好项目(module)后,希望将项目(aar方式)开源出去,让别人在gradle中直接compile你的开源库,一个很好的方式就是上传到jcenter的maven仓库,别人使用时通过添加compile引用即可。

例如家喻户晓的Rxjava,只需要一句话compile 'io.reactivex:rxjava:1.1.6',就可以添加到项目中,时间久了,是不是自己也想试试开源一下自己的成果,给大家用用,或者成(zhuang)就(bi)感?

网上有很多文章,笔者自己在尝试的过程中主要是根据hongyang的博客Android 快速发布开源项目到jcenter来操作,但是亲身操作过程中发现了一些细节问题可能遇到坑,因此记录下来,供有需要的同学参考。

本文主要是采用AS将mobule生成aar,然后利用novoda + bintray-release插件上传到bintray发布到jcenter,然后引用
具体上传的插件主要有两种,

目前很多文章都是以gradle-bintray-plugin这个插件做上传,多数文章的介绍都是针对普通的开源项目的(即不包含编译时注解相关)。那么对于用到编译时注解,因为涉及到多个module,上传可能会比较麻烦。本文准备采用bintray-release这个插件。

其他发布项目的方式可以利用jitpack.io结合github,参考如何让别人在gradle中直接compile你的开源库以及 不利用novoda插件,手动配置(传说中666的人都是手动配置的),参考Android Studio提交库至Bintray jCenter从入门到放弃 ,看个人需求。


具体步骤:

1. 编码,生成待发布的开源项目aar

没啥说的,新建module,编码,生成aar,具体可以参考android studio生成aar包并在其他工程引用aar包

2. 注册bintray

注册地址 https://bintray.com/


注册bintray,可以选择用github等其他方式登录,但是如果是qq邮箱,会注册不通过。。。网上有人说163邮箱也不行(笔者未亲自尝试),我用的是126的邮箱,毕竟gmail....你懂的.

第一个坑,bintray有2种主页。 一种是普通账户登录 start your free trial(30天试用期),一种是for an Open Source Account的账户登录, 要选第二种 for an Open Source Plan,不然后面会出问题。。。

具体参考利用bintray-release插件上传到Bintray- HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]问题解决

3. 利用插件上传aar到bintray

具体配置参考Android 快速发布开源项目到jcenterAndroid Studio发布项目到jCenter第二个坑,需要注意的是添加仓库add new repo时选择public,maven,maven


注意,创建仓库时,如果使用Bintray-release,名字就填成maven,因为他的wiki:repoName: The repository name. Set to ‘maven’ by default.(有错误请指出)
否则运行命令的时候会报错,下面的Type我们也选maven。
这里我已经创建好了仓库,所以进入仓库,点击创建新的package ,需要注意的是这里的Name要和我们Project中配置的artifactId 一致,否则会上传失败。

配置完毕,在AS的terminal面板下运行 ./gradlew clean build bintrayUpload -PbintrayUser=xxxxxxx -PbintrayKey=xxxxxx -PdryRun=false


其中xxxx代表你的user和key,在bintray个人面板都可以看到,PbintrayUser是你登录binary用户名,key就是我们前面获取到的apikey,dryRun是一个配置参数,当为true的时候,会运行所有的环节,但是不会上传。
然后我们在Studio的命令行运行命令。

build的过程中可能会有些问题,比如说javadoc lint检查之类的。基本上网上都有解决办法。参考上传jcenter的“第一次”所遇到的坑

4. 发布到jcenter

如果都没问题了,那么恭喜你,到了提交审核的关口,在面板点击add to jecenter按钮, 如果你没有这个按钮,不要忧郁,不要彷徨,是你注册选择(插入姿势)有问题,请选第二种 for an Open Source Plan

,自己填写对自己项目的描述,点击发送,等待工作人员审核,一般几个小时就可以审核成功了,然后你会收到站内信,项目的add to jecenter也会消失掉。
此外你还可以根据你上传的groupId,访问该网站
https://jcenter.bintray.com/groupId

5. 引用自己的开源项目

这一步相信大家是闭着眼睛都会了。。。
你配置gradle时

groupId = 'com.user'//jcenter上的路径
artifactId = 'project'//项目名称
publishVersion = '1.0.0'//版本号

那么你引用方式就是compile 'com.user:project:1.0.0'

6. 版本更新

版本更新,只需要编码完成后,修改publishVersion版本号,然后重新走一遍流程上传到仓库就可以了.


参考链接:

  1. Android 快速发布开源项目到jcenter

  2. 利用bintray-release插件上传到Bintray- HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]问题解决

  3. 手把手教你将Android项目开源到JCenter两种方式以及挖坑和填坑(一)

  4. Android Studio提交库至Bintray jCenter从入门到放弃

  5. 如何让别人在gradle中直接compile你的开源库

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容