记录 把自己的项目上传到Bintray jCenter远程仓库
本文转载自印象丶亮仔的BLOG,原始出处。
文章来自 http://blog.csdn.net/qq_23179075/article/details/71123452
感谢作者的分享
我们在AS中要使用别人开源库基本都是用下面的方式:
compile 'org.greenrobot:eventbus:3.0.0'
这样使用我们不用单独去下载别人的源文件、jar包之内的,我想说的是这真特么太方便了!
如果想把自己写的开源项目放在上面怎么弄? 下面是教程和我当时踩过的一些天坑
1.注册/登录Bintray
· 一定要点击下图标记的地方,或者直接打开下面的网址,不然上传不起项目(博主之前就坑这里了555!)
· 地址:https://bintray.com/signup/oss
· 如果你不想单独注册也可直接选择用GitHub登录/谷歌邮箱登录
· 我这里选择的从谷歌邮箱登录(如果直接注册用国内的QQ或者163邮箱可能不能识别邮箱大家都知道我大中华的国情)
· 登录成功进入下面的界面(如下图↓↓↓):
· 点击上图的 Add New Repostitory
(看上图↑↑↑) 创建自己的maven仓库如下(如下图↓↓↓):
· 创建成功后就可以看到我们刚刚创建的仓库(如下图↓↓↓)
· 创建成功后点击右下角的 Add New Package
(看上图↑↑↑) 创建一个新的包,也就是我要上传的项目(如下图↓↓↓)
2.在Androidstudio中配置bintray-release用于上传到远程仓库
· 新建Library项目或者打开已有的项目(如下图↓↓↓)
· 在Project中的:build.gradle加入以下代码:
classpath 'com.novoda:bintray-release:0.3.4'
· 在Library中的:build.gradle加入以下代码:
android {
...
}
dependencies {
...
}
/** 以下开始是将Android Library上传到jcenter的相关配置**/
apply plugin: 'com.novoda.bintray-release'//添加
//项目主页
def siteUrl = 'http://git.oschina.net/zhengliang_blog/shadow-view'
publish{
repoName = 'MyMaven'//远程仓库名字,不指明,默认是上传到maven
userOrg = 'zhengliang1995'//bintray.com的用户名
groupId = 'com.zhengliang'//jcenter上的路径
artifactId = 'shadow-view'//项目名称
publishVersion = '1.0.0'//版本号
desc = '一个控件阴影效果,支持阴影大小和颜色设置,可以设置控件上下的阴影'//描述,不重要
website = siteUrl//项目主页
}
tasks.withType(Javadoc) {//防止编码问题
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('charSet', 'UTF-8')
}
· 注意下面的名字一定要对应(如下图↓↓↓)
· 注意下面的名字一定要对应(如下图↓↓↓)
· 注意下面的名字一定要对应(如下图↓↓↓)
3.开始上传
· 回到JFrog Bintray个人主页点击 Edit
(如下图↓↓↓)
· 选择 API Key 然后复制那一长串的key值(如下图↓↓↓)
· 回到AS打开Terminal控制台输入以下代码:
gradlew clean build bintrayUpload -PbintrayUser=zhengliang1995 -PbintrayKey=xxxxxxxxxxxx -PdryRun=false
·用你自己的用户名和API Key 替换一下就行了然后回车稍等当出现下面界面:(如下图↓↓↓) 就说明上传成功了!
4.提交审核
·回到网页打开MyMaven下我们创建的shadow-view:(如下图↓↓↓) ; 然后点击右下角的 Add to JCenter 按钮
·这时候我们需要在下面填写审核描述(乱填都行不能不填,不填可能会审核失败!)(如下图↓↓↓)
·填写完成直接Send,一般一天之后就会审核通过,通过后项目的右下角的Add to JCenter 按钮就会消失!
·然后我们选择左下角的 Gradle 选项 ,就会看到我们想要的东西..(如下图↓↓↓)
·大工告成,我们现在就可以复制上面的地址到我们的Androidstudio项目中build.gradle通过compile的方式使用我们自己写的库了,哈哈,是不是很爽哈!
5.上传常见错误
·下面我们来看看上传过程中的常见错误(如果你成功了可以不用看下面):
(1).HTTP/1.1 404 Not Found [message:Repo ‘MyMaven’ was not found]
找不到Maven库,可能是你没有创建,或者是你repoName的值跟你创建的仓库名字不一样,还有可能是你的userOrg也没有写对!
(2).HTTP/1.1 400 Bad Request [message:Please enter a valid VCS URL for your OSS package.]
找不到包,在对应的Maven库下没有创建对应的包,或者是你artifactId的值跟你创建的包名字不一样!