#使用bintray-release 上传Jcenter 所踩过
写在开始
最近因为项目的需求,需要用到一些特殊的控件。在浏览查找了github之后,感觉比较纠结,一些小的dome,可定制度低,实现的效果和我不太一样。一些大公司的项目又感觉比较臃肿,配置起来比较复杂。所以考虑自己自定义一些控件,写完了之后,想把项目开源给大家交流一下,所以使用bintray-release上传bintray,但是没想到中间遇到很多坑,所以记录分享一下。
接下来分几个点,一些遇到的问题会穿插在里面
- 注册账号
- 创建仓库
- 配置bintray-release
- 上传
1. 注册
其实注册这个步骤是最最最坑爹的,在网上绝大部分的教程都一带而过,而我就是因为这个问题反复纠结了1天。
首先 : 打开 bintray官网
首先看到这个
![](https://img.haomeiwen.com/i3648957/c480a61530cd4f9c.png)
看见这么可爱的绿绿的按钮是不是很想点击注册??
不不不不不!!!!!!!
bintary账号分为普通账号和开源账号,果然点击左边的绿色按钮,你注册的是普通账号,你就必须要加入或者创建组织才可以建立自己的仓库,关键是如果你点错了,你还删不了,非常麻烦。
所以,千万要点击右边的For an Open Source Account Sign Up Here.
接下来,到了
![](https://img.haomeiwen.com/i3648957/fefc07f59b3f80c3.png)
到了这里,什么选择就你喜欢了。
但是要注意一点,不管你选择新注册还是用第三方登录,如果你的邮箱是QQ或者163,都是不行的,到时候邮箱一栏会变红高亮,但是不会有任何提示,很坑爹,所以用gmail或者outlook来注册比较保险。
登录进去之后,点击头像,点击edit profile 如果打开的界面,左边一栏中有repositories 则说明,你的账号没错,如果没有,只有五个选项,则你在注册的时候点错了,注册的是普通的账号。
2. 创建仓库
现在就可以点击repositories 来创建仓库,类型选择maven,其他自己决定,创建好了之后,在里面可以创建一个packge。
这一步一般没有什么问题
3. 配置bintray-release
不说废话 直接上bintray-release github地址
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
classpath 'com.novoda:bintray-release:0.5.0'
}
这里注意一点,bintray-release不支持 gradle 3.4以下的版本,必须gradle 3.4以上
然后在你要上传的module里面的gradle里面添加
apply plugin: 'com.novoda.bintray-release'
然后在最外层 配置
publish {
userOrg = 'bintray.com用户名'
groupId = 'com.xxxxx'//jcenter上的路径,你喜欢
artifactId = '仓库里面的名称Package'
publishVersion = '1.0.1'//版本号
desc = 'simple,bottomdialog'//描述,随便
website = 'https://github.com/ZENGYANYAN/YanLibrary'//网站,随便;
}
上面是大多数教程的写法,但是有可能会报
HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
的错误
因为他默认的仓库名字为maven
有相关文章是通过手动建立一个叫maven的仓库来解决
类似这位大神
但是对于我有强迫症的来说,不可接受啊
尝试过后
publish应该是这样的
publish {
userOrg = 'bintray.com用户名'
groupId = 'com.xxxxx'//jcenter上的路径,你喜欢
artifactId = '仓库里面的名称Package'
repoName='仓库名'
publishVersion = '1.0.1'//版本号
desc = 'simple,bottomdialog'//描述,随便
website = 'https://github.com/ZENGYANYAN/YanLibrary'//网站,随便;
}
这样就很完美了
4.上传
开始上传
首先要得到key
![](https://img.haomeiwen.com/i3648957/a7afb6427e36dd65.png)
edit profile里面有一个Api Key
copy下来就好
打开Terminal 输入
/gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
就开始编译,可能会有几个问题
-
gradle 版本问题 上文已解决
-
HTTP/1.1 404 Not Found [message:Repo 'maven' was not found] 已解决
-
GBK编码问题,javadoc编码问题
在项目gradle里面加入
tasks.withType(Javadoc) {
options {
encoding "UTF-8"
charSet 'UTF-8'
links "http://docs.oracle.com/javase/7/docs/api"
}
}
或者用参考以为群上大神的项目做法另一位大神
解决这些问题后,就会成功上传了。
在你的仓库里就会找到你上传的package,
![](https://img.haomeiwen.com/i3648957/c20f1c0574e536b7.png)
点击右下角的add to Jcenter 等待审核
审核结束,就发布成功了。
最后
这就是全部
感谢hongyang大神的博客
还有刚刚我引用过的各位大佬的资料
有什么说得不对的地方,
还请各位大佬多多指教