美文网首页
Android如何发布项目到jcenter/maven,在gra

Android如何发布项目到jcenter/maven,在gra

作者: 今天不上班 | 来源:发表于2017-10-19 13:42 被阅读24次

    背景: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你的开源库

    相关文章

      网友评论

          本文标题:Android如何发布项目到jcenter/maven,在gra

          本文链接:https://www.haomeiwen.com/subject/twayuxtx.html