Android 简单发布 Library 到 Maven、JCenter

878 阅读2分钟

之前发过项目到JitPack,很长时间过去了,就忘了,这次发布到JCenter,记录下发布流程,找了好几篇都写得很复杂,或许需求多,这边只记录简单发布流程。

一、library准备

没什么可说的,要发布到JCenter,首先得有自己要发布的library代码。

二、Maven/JCenter注册配置

  1. 注册(需要科学上网,不然很慢)

首先在Bintray注册账号,这里需要注组织注册个人注册,注册很简单。

备注::163邮箱好像过不了(本人Github就是163邮箱),点击注册没反应,看接口返回的是邮箱怎么怎么的,据说QQ邮箱也不行,最后我直接那我的Google账号一步通过。

  1. 配置
    配置1
    点击1增加仓库,增加完成就可以看到2的位置出现仓库。

配置2
Name 和 Type 直接Maven带走...点击Create就OK了。

三、发布代码

  1. project根build.gradle配置:

//bintray 插件

classpath 'com.novoda:bintray-release:0.9'

project根build.gradle

  1. 需要发布moudle的build.gradle配置:

apply plugin: 'com.novoda.bintray-release'

...

publish {

userOrg = 'wrap0673' //bintray注册的用户名

repoName = "maven" //仓库名

groupId = 'com.joker.log' //compile引用时的第1部分groupId

artifactId = 'JLog' //compile引用时的第2部分项目名

publishVersion = "1" //compile引用时的第3部分版本号

desc = 'Android log library'

website = 'github.com/joker-fu/JL…'

}

  1. 执行发布命令

./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false

BINTRAY_USERNAME替换为你的BINTRAY的用户名,BINTRAY_KEY替换为你的BINTRAY的key,执行命令看到SUCCESS就成功了。

BINTRAY_USERNAME与BINTRAY_KEY

  1. 发布到到Jcenter

到第三步我们就已经把库发布到了Maven,只是现在使用跟JetPack一样需要依赖2次,先得依赖你的Maven库然后再依赖你的library,发布到JCenter后就不需要再依赖Maven。

maven { url 'dl.bintray.com/wrap0673/ma…' }

implementation 'com.joker.log:JLog:1.0.1'

发布也很简单进入项目页,点击Add to JCenter,然后点击send就OK了,等待审核通过就可以不用添加Maven了。我初次添加的时候是第二张图,现在是第一张,找不到的话仔细找找。

1

2

这样一次发布就完成了。

下次要发布其他项目直接配置好项目,直接推送就可以了。

最后,这里有版本小徽章可以添加到Github。


华丽时间分隔线


记录3个问题:

  1. HTTP/1.1 401 Unauthorized [message:This resource requires authentication]

通常是bintray 用户名和API Key配置错误,注意检查,是bintray用户名而不是bintray登陆账号。

  1. HTTP/1.1 409 Conflict

该版本已经存在,需要在 bintray 项目界面上点击响应版本删除后再次上传。

  1. java.net.SocketException: Software caused connection abort: socket write error

bintray服务器需要你理性上网了。