之前发过项目到JitPack,很长时间过去了,就忘了,这次发布到JCenter,记录下发布流程,找了好几篇都写得很复杂,或许需求多,这边只记录简单发布流程。
一、library准备
没什么可说的,要发布到JCenter,首先得有自己要发布的library代码。
二、Maven/JCenter注册配置
- 注册(需要科学上网,不然很慢)
首先在Bintray注册账号,这里需要注组织注册和个人注册,注册很简单。
备注::163邮箱好像过不了(本人Github就是163邮箱),点击注册没反应,看接口返回的是邮箱怎么怎么的,据说QQ邮箱也不行,最后我直接那我的Google账号一步通过。
- 配置
点击1增加仓库,增加完成就可以看到2的位置出现仓库。
三、发布代码
- project根build.gradle配置:
//bintray 插件
classpath 'com.novoda:bintray-release:0.9'
- 需要发布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…'
}
- 执行发布命令
./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
BINTRAY_USERNAME替换为你的BINTRAY的用户名,BINTRAY_KEY替换为你的BINTRAY的key,执行命令看到SUCCESS就成功了。
- 发布到到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了。我初次添加的时候是第二张图,现在是第一张,找不到的话仔细找找。
这样一次发布就完成了。
下次要发布其他项目直接配置好项目,直接推送就可以了。
最后,这里有版本小徽章可以添加到Github。
华丽时间分隔线
记录3个问题:
- HTTP/1.1 401 Unauthorized [message:This resource requires authentication]
通常是bintray 用户名和API Key配置错误,注意检查,是bintray用户名而不是bintray登陆账号。
- HTTP/1.1 409 Conflict
该版本已经存在,需要在 bintray 项目界面上点击响应版本删除后再次上传。
- java.net.SocketException: Software caused connection abort: socket write error
bintray服务器需要你理性上网了。