上传android library 到bintray.

作者: 抓住那只大金毛 | 来源:发表于2015-11-09 20:22 被阅读5128次

给公司写的videoplayer模块version one 完成了, 公司两个项目都需要用到这个模块,并且其中一个项目外包出去了,所以就要把这个模块上传到一个公共的lib库,方便外包的哥们去调用. 以及后续我这边更新维护. 然后选择了上传到bintray这个网站上.

说实话不是太了解这块儿东西,来这个公司之前一直是闷头写代码层的东西,每天就对着svn和eclipse, 什么maven,git,As,jcenter,bintray 等等完全没接触过. 谢谢公司给了机会去学习这些,但由于英语不好,在学习使用的途中踩了很多坑.
这篇文章就是记录我把这个模块传到 bintray上 整个过程踩过的坑.

第一步 注册

首先你需要 去bintray官网 注册个账号,这里就不过多描述了.你可以的.
注册完毕以后 点击这里

Paste_Image.png
进入maven管理界面
然后 点击 Paste_Image.png
创建新的package Paste_Image.png

name 就是项目的名称
licenses 我选择的是apache-2.0
version control 我填的是github上的地址
然后一切ok, 点击create package. 创建完毕.

第二步 寻找好用的publisher

作者一开始不懂这个是干什么的,是公司的cto给我推荐了1个github地址,让我去学习那个,并且告诉我这个是最简单的上传方式.
地址是 novoda
其实英语好的哥们看到这应该已经知道怎么弄了

Paste_Image.png

第一步 把这些配置到 你要发布的项目的 build.gradle文件中 这里需要注意的是
apply plugin: 'com.novoda.bintray-release' 这句话 需要放在com.android.library 下面
如图

Paste_Image.png

第二步

Paste_Image.png
在build.gradle 文件中添加这个方法块。
其中userorg 就是你的用户id
groupid 就是你的唯一包名
artifactId 是你之前最初在bintary的maven中创建的那个package的名字,这里需要对应上 否则会上传失败.
publishVersion 就是你的版本id咯
下面2个随意填了

第三步
$ ./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
在命令行中输出这些,其中需要把BINTRAY_USERNAME 替换成你的bintary的名字
BINTRAY_KEY 替换成你的 BIntray的key ,其中key 可以点击你bintary中头像旁边的edit.
进入API-Key 可以看到你的key,然后 copy进来就好了!
这个时候打回车! 然后就run起来了就好了.
上传成功以后 你可以在你bintary 那个项目中 的管理页面看到这个

Paste_Image.png

如果看到1.0.0 恭喜你 那就是上传成功, 但是这只是1个私人的,还不能让别人都用
这个时候你需要点下面那个add to jcenter 然后申请加入jcenter
用英语写几句描述 然后 提交 然后 就耐心等待就好了!!

哦 对了

有可能会报一个 :lint 什么什么找不到的错误 我在这卡了好一会儿.
需要在android中添加这么一句 如图 就是那个lintOptions什么什么的

Paste_Image.png

哦哦我想起来了 有可能会出现什么tools.jar找不到的 bug
这个解决比较简单 有可能是你机器的JAVA_HOME没有指对
比如我是rmbp 最初的JAVA_HOME是指向的mac 自带的1.6 jdk.
修改成 androidstudio 指向的1.7的jdk 后就好了!!!

后续如果我发现有新的问题 我会后续更新这个文章

相关文章

网友评论

  • 小六01:可以 先mark一下
  • 方志朋:./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false 显示不是外部命令也不是内部命令。
  • 1262a746e8e5:你好,我bintray上创建了maven,为什么提示HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
    HaiChecker:@韦东锏 不是被墙了,看看你的仓库名是不是maven 如果不是的话写成maven就ok了。
    韦东锏:@1262a746e8e5 我也有这个问题,怀疑是墙的原因
  • 迷途小顽童:你好,生成的aar包和jar包都没有经过混淆,请问你知道该如何配置吗?
  • 卜俊文:你好,我刚才试了下,遇到一个问题,已经进度到了98,然后就跳出了:

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':mytool:bintrayUpload'.
    > Bintray user cannot be empty!

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

    BUILD FAILED


    这是说我用户名空的?不会吧,我就是这个用户名啊
  • HJXANDHMR:我也进不去这个网站
  • LYPC_下里巴人:https://bintray.com
    这个网址怎么才能注册,打开了首页其他的功能都操作不了,是不是被墙了
  • KingJA:请问博主怎么在Android Studio通过网络添加自己上传到Jcenter的依赖库,查找不到
  • H3c:为啥我没发发不到jcenter?会说缺少POM文件
    冰川孤辰js:请问,你这个问题解决了吗? 可以告知下方案吗? 谢谢
  • 8d41846b2da6:楼主 写的很棒 但是我还是想 了解关于exoplayer的东西
    8d41846b2da6:@抓住那只大金毛 你好 ,我读了官方的demo 但是没发现有调用android 的 mediacodec的地方,是封装起来了吗? 我想将mediacodec中的buff存到本地的sd卡中 然后分析下这是什么流?谢了
    8d41846b2da6:@抓住那只大金毛 大金毛 我需要你的帮助 有些小白的问题 我私信你了。
    抓住那只大金毛:@爱吃苹果的我 exoPlayer 怎么说呢 个人感觉做的很不错, 等我有时间把我做的经验 发出来吧

    我们的app 已经在公测版用了这个exoPlayer. 但是反馈过来的结果 就是 大概有千分之四的用户 使用会有问题 , 比如不能播放 比如 音画不同步, 兼容性 并不那么完美
  • d13457a15d53:感谢~问题已经搞定
    抓住那只大金毛:@Xx_xX 不客气~
  • 云琪视角:厉害啊

本文标题:上传android library 到bintray.

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