Android library分享到jcenter

1
2
3
dependencies {
compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.0.4'
}

build.gradle文件中只写上如上一行,就能在Android Studio中引入你的library到项目中,这样岂不是酷比了。之前github上分享一个简单的库,这两天花了点时间研究了下,如何也能这样一行就能依赖我的那个库。

之前写过同样的一篇教程(地址:Android library分享到jcenter),但是配置较多,还不能自己写库名(最新的貌似可以写),起码当时不能(直接取的建库时的名),这点被坑了,后来想改名都不行,后文会说。这篇教程和之前差不多,就配置这块不一样。好,快上车,老司机要开车了。

申请bintray账号

登录 bintray.com
bintray.com上注册一个账号。
点击maven,点击Add New Package,为我们的library创建一个新的package。
命名所有字母应该为小写,单词之间用-分割。
需要API Key,点击进入你的账户信息里再点击Edit即有查看API Key的选项,把他复制下来。

配置

library项目最好分成两个module,一个Application Module,一个Library Module。Application Module用于展示库的用法,Library Module是library的源代码。

配置项目

修改项目的build.gradle件中的依赖部分,

1
2
3
4
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.novoda:bintray-release:0.3.4'
}

配置library

具体配置可参考我的开源库PullLoadMoreRecyclerView

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
apply plugin: 'com.android.library'
android {
……
}
dependencies {
……
}
//添加
apply plugin: 'com.novoda.bintray-release'
publish {
//bintray.com用户名
userOrg = 'wuxiaolong'
//jcenter上的路径
groupId = 'com.wuxiaolong.pullloadmorerecyclerview'
//项目名称
artifactId = 'pullloadmorerecyclerview'
//版本号
publishVersion = '1.0.5'
//描述,不重要
desc = '实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果演示'
//网站,不重要
website = 'https://github.com/WuXiaolong/PullLoadMoreRecyclerView'
}

是不是配置少了很多哇,这里解释下,本来我想把项目名称改成pullloadmorerecyclerview,上传也成功了,但是依赖却找不到了,之前默认名是library,我改成了library,上传,这样算一个新的库,得重新审核,哎无奈,只能按照之前的方法去上传。

上传library到bintray空间

请到Android Studio的终端(Terminal)选项卡。
输入下面的命令:

1
2
3
4
gradlew clean build bintrayUpload
-PbintrayUser=wuxiaolong
-PbintrayKey=这里填写刚刚保存的API Key
-PdryRun=false

如果显示如下,说明成功了!否则有log提示错误。

1
BUILD SUCCESSFUL


上传完成即可在Bintray网站上找到你的Repo,我们需要完成最后一步工作,申请你的Repo添加到JCenter。可以进入这个页面,点击Include My Package,输入你的项目名字,点击匹配到的项目,直接send即可,然后就等管理员批准了。

如上,网站上会给你一条通过信息,然后就OK了,大功告成。

1
compile 'com.wuxiaolong.pullloadmorerecyclerview:library:1.0.5'

一般来说,我们需要知道library的字符串形式,包含3部分
GROUP_ID:ARTIFACT_ID:VERSION
上面的例子中,GROUP_ID是com.wuxiaolong.pullloadmorerecyclerview ,即配置library中group的值;ARTIFACT_ID是library,配置library中没有写到,是library项目的名字;VERSION是1.0.5。
查看bintray上库:
http://jcenter.bintray.com/com/wuxiaolong/

附录

bintray-release
Android 快速发布开源项目到jcenter



联系作者

我的微信公众号:吴小龙同学,欢迎关注交流,公号回复关键字「1024」有惊喜哦。