美文网首页StudioAndroid开发Android知识
#使用bintray-release 上传Jcenter 所踩过

#使用bintray-release 上传Jcenter 所踩过

作者: 曾雁 | 来源:发表于2017-05-24 15:21 被阅读91次

写在开始

最近因为项目的需求,需要用到一些特殊的控件。在浏览查找了github之后,感觉比较纠结,一些小的dome,可定制度低,实现的效果和我不太一样。一些大公司的项目又感觉比较臃肿,配置起来比较复杂。所以考虑自己自定义一些控件,写完了之后,想把项目开源给大家交流一下,所以使用bintray-release上传bintray,但是没想到中间遇到很多坑,所以记录分享一下。

接下来分几个点,一些遇到的问题会穿插在里面

  1. 注册账号
  2. 创建仓库
  3. 配置bintray-release
  4. 上传

1. 注册

其实注册这个步骤是最最最坑爹的,在网上绝大部分的教程都一带而过,而我就是因为这个问题反复纠结了1天。

首先 : 打开 bintray官网
首先看到这个

微信截图_20170524124737.png

看见这么可爱的绿绿的按钮是不是很想点击注册??
不不不不不!!!!!!!
bintary账号分为普通账号和开源账号,果然点击左边的绿色按钮,你注册的是普通账号,你就必须要加入或者创建组织才可以建立自己的仓库,关键是如果你点错了,你还删不了,非常麻烦。

所以,千万要点击右边的For an Open Source Account Sign Up Here.

接下来,到了

微信截图_20170524124824.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

微信截图_20170524151409.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,

微信截图_20170524151444.png

点击右下角的add to Jcenter 等待审核
审核结束,就发布成功了。

最后

这就是全部
感谢hongyang大神的博客
还有刚刚我引用过的各位大佬的资料
有什么说得不对的地方,
还请各位大佬多多指教

相关文章

网友评论

  • 到了我的周末:我就是注册错了。但是应该怎么去用github再去登陆个人的那,能详细讲一下不,找了很多都是说别点错了。但是都没说点错后怎么处理的:joy::joy:
    曾雁:@到了我的周末 是的,我文章也说了,不把qq当回事。。。我是用微软的邮箱注册的
    到了我的周末:@曾雁 额。。主要是我的Github也使用google的邮箱注册的。现在qq和163的也不能注册。太惨了
    曾雁: @到了我的周末 额。。。换个账号,反正我是这么做的,这是个大坑😂😂😂
  • 香脆的大鸡排::smiley: 学习 学习
    曾雁:不敢不敢。。。:scream:

本文标题:#使用bintray-release 上传Jcenter 所踩过

本文链接:https://www.haomeiwen.com/subject/khgnxxtx.html