Android 使用bintray将本地库上传到JCenter做maven依赖库
Posted 碎格子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 使用bintray将本地库上传到JCenter做maven依赖库相关的知识,希望对你有一定的参考价值。
建项目及制作library包部分
1.在github上新建一个仓库
2.将仓库clone下来
3.新建项目:
项目文件夹选择我们克隆下来的文件夹
4.File->New->New Module选择library
成功后的Project 结构
在新创建的库中编写代码,并在app模块的gradle下添加下面代码引入库:
compile project(':yourmodulename') //冒号后是你的新module的名称
5.Project的gradle文件里添加以下代码
buildscript
repositories
jcenter()
dependencies
classpath 'com.android.tools.build:gradle:2.2.3'
//添加这一行
classpath 'com.novoda:bintray-release:0.3.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
然后在library模块的gradle里加入以下代码:
apply plugin: 'com.novoda.bintray-release'//添加这一行
...
publish
userOrg = 'username/organization'//username 或者 organization 的名称,个人用户是 username,企业用户是 Organization Name
groupId = 'YourPkgName'//jcenter上的路径,如com.ezbuy.XXX
artifactId = 'packageName'//项目名称与bintray上的package名称一致
publishVersion = 'v1.0.0'//版本号
注意:此处有个坑
如果你用的企业版的bintray,userOrg填的是你的Organization Name,如果你是用的个人版的bintray则是用自己的用户名(被这个大坑坑了半天),如何区分企业还是个人用户我将在后面讲到
bintray页面配置
创建新仓库
创建Package
上传
./gradlew clean build bintrayUpload -PbintrayUser=berosy -PbintrayKey=******************** -PdryRun=false
这里的PbintrayUser是你的bintray用户名,PbintrayKey是bintray Api key,从编辑个人信息处获取:
上传成功后发布
这边要等审核,审核过了我们就可以在其他项目里加入我们的依赖库了
问题
1.如何区别自己是个人还是企业用户
由企业登录入口这个登录界面登录或者注册的就是企业用户,由个人登录入口这个登录界面登录注册的是个人用户,还有进去bintray主界面后,企业用户不能直接添加仓库,必须在组织(Organization)下添加仓库,个人用户可以直接添加仓库。一开始我直接注册登录到企业用户,结果后面一大堆问题,坑哭~
2.’maven’没找到的问题
上传库至bintray时gradle报错:
Could not create package 'berosy/maven/ezrecyclerview': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
原因可能有两种:
- 在bintray设置仓库名字时设置的不是’maven’,而上传library时默认上传至maven,将bintray页面的仓库名字设置为maven就行
- userOrg填错了,如果是企业用户是组织名称,如果是个人用户是你的用户名!
3.package报错
Could not create package 'berosy/maven/ezrecyclerview': HTTP/1.1 400 Bad Request [message:Please enter a valid VCS URL for your OSS package.]
主要是package信息不完整,在bintray设置页面新建了package,填完整信息就好
4.Add to JCenter没找到
一定是用了企业版的试用版!一定是用了企业版的试用版!一定是用了企业版的试用版!
换成个人版!
5.Unauthorized错误
错误信息:
Could not create package '/maven/': HTTP/1.1 401 Unauthorized [message:This resource requires authentication]
一定是username或者key填错了!一定是username或者key填错了!一定是username或者key填错了!
仔细检查一遍!
以上的代码都上传至我的github,可以前往参考:https://github.com/Berosy/EzRecyclerView
以上是关于Android 使用bintray将本地库上传到JCenter做maven依赖库的主要内容,如果未能解决你的问题,请参考以下文章
使用选定的风格将 Android 库 (aar) 发布到 Bintray
如何将本地 aar 依赖项添加到 bintray 发布的库中?
踩坑速记全面解析开源库打包发布到Bintray/Jcenter全过程(新),让开源更简单~