上传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