上传android library 到bintray.
给公司写的videoplayer模块version one 完成了, 公司两个项目都需要用到这个模块,并且其中一个项目外包出去了,所以就要把这个模块上传到一个公共的lib库,方便外包的哥们去调用. 以及后续我这边更新维护. 然后选择了上传到bintray这个网站上.
说实话不是太了解这块儿东西,来这个公司之前一直是闷头写代码层的东西,每天就对着svn和eclipse, 什么maven,git,As,jcenter,bintray 等等完全没接触过. 谢谢公司给了机会去学习这些,但由于英语不好,在学习使用的途中踩了很多坑.
这篇文章就是记录我把这个模块传到 bintray上 整个过程踩过的坑.
第一步 注册
首先你需要 去bintray官网 注册个账号,这里就不过多描述了.你可以的.
注册完毕以后 点击这里
进入maven管理界面
然后 点击 Paste_Image.png
创建新的package Paste_Image.png
name 就是项目的名称
licenses 我选择的是apache-2.0
version control 我填的是github上的地址
然后一切ok, 点击create package. 创建完毕.
第二步 寻找好用的publisher
作者一开始不懂这个是干什么的,是公司的cto给我推荐了1个github地址,让我去学习那个,并且告诉我这个是最简单的上传方式.
地址是 novoda
其实英语好的哥们看到这应该已经知道怎么弄了
第一步 把这些配置到 你要发布的项目的 build.gradle文件中 这里需要注意的是
apply plugin: 'com.novoda.bintray-release' 这句话 需要放在com.android.library 下面
如图
第二步
在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 那个项目中 的管理页面看到这个
如果看到1.0.0 恭喜你 那就是上传成功, 但是这只是1个私人的,还不能让别人都用
这个时候你需要点下面那个add to jcenter 然后申请加入jcenter
用英语写几句描述 然后 提交 然后 就耐心等待就好了!!
哦 对了
有可能会报一个 :lint 什么什么找不到的错误 我在这卡了好一会儿.
需要在android中添加这么一句 如图 就是那个lintOptions什么什么的
哦哦我想起来了 有可能会出现什么tools.jar找不到的 bug
这个解决比较简单 有可能是你机器的JAVA_HOME没有指对
比如我是rmbp 最初的JAVA_HOME是指向的mac 自带的1.6 jdk.
修改成 androidstudio 指向的1.7的jdk 后就好了!!!
后续如果我发现有新的问题 我会后续更新这个文章