因为之前开发过程中经常会引用到一些的开源库,如butterknife、xrecyclerview、picasso等。其中最方便的引用方式就是在gradle中用compile来引用。例如
compile'com.jakewharton:butterknife:8.4.0'
在使用的过程中慢慢的就萌发了把自己写的一些工具库也用这种方式来进行托管的想法。下面就是记录我第一次上传开源库到jcenter的实践。
第一步 Bintray和jCenter
Jcenter是Bintray下的一个仓库,所以先要去注册一下Bintray帐号,没有的同学看下文如何注册。
注册网址
https://bintray.com/signup/oss
注意从首页进去默认的注册地址是组织注册不是个人注册。需要拉到底下有个个人注册的。
注册过程如下
注册成功后,新建一个maven库
新建maven时仓库名好像必须为maven 否则在Android Studio会上传失败。有兴趣的同学可以试一下
注册完成。
第二步开始创建Android library
新建一个Module
选择Android Library 下一步
library就建立好了
第三步配置项目gradle
我们这里借助于bintray-release插件来将类库上传至binary,有兴趣的朋友可以试试其他方法,我之前试过其他的几种方法都没有成功。
bintray-release插件的GitHub地址:https://github.com/novoda/bintray-release
library的build文件中加入如下代码。
apply plugin: 'com.novoda.bintray-release'
需要放在apply plugin: 'com.android.library'的后面
然后添加如下代码
buildscript {
repositories {
jcenter()
}
dependencies {
classpath'com.novoda:bintray-release:
}
}
publish {
userOrg = 'yancy2430' //注册Bintray的用户名
groupId='com.tdeado'//组ID
artifactId = 'bottomnav'//组件标示
publishVersion = '1.0.0'//版本
desc = '这是描述'
website = 'https://github.com/yancy2430/BottomNavView'//如果有上传GitHub可以填写URL
}
第四步 上传
在命令行输入
$ ./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
其中BINTRAY_USERNAME更换成你的用户名
BINTRAY_KEY更换成你的Key 可以从bintray的设置里获取
然后在Android Studio的命令行里执行
显示这个就表示上传成功了
可以到你的bintray的仓库里看看是不是有显示你的library,点击进去如果显示下图这样的就说明上传成功了。
只是这样还不能被别人引用 最后还需要提交到jcenter
你需要点右下角的下面那个add to jcenter 然后申请加入jcenter
然后写几句描述
提交
就耐心等待就好了!!审核通过后会有邮件,审核时间很短 我晚上申请第二天早上就邮件提示我通过了。
就成功的完成了一个library从创建到提交到审核到引用的所有阶段。