Android library上传到jcenter

Android library上传到jcenter

如何把我们开发好的Android library上传到中央仓库,供其他开发者方便使用,一行代码来进行依赖,而不必下载源码。

compile 'com.tubb.picker.library:picker:3.0'

如何才能做到这样呢,其实可以把我们的类库发布到中央仓库(下载中心)以供别人下使用。

当然直接下载类库的jar或者aar也可以,但如果能提供像maven那样方便的共享jar包再好不过了,gradle作为maven的替代物也提供了相应的功能。

下面就实践一下如何把自己的Android library共享给第三方使用。

1、上传到bintray

bintray作为下载中心,同时支持gradle和maven。那如何把我们产出的aar包上传到bintray呢,bintray为gradle提供了相应的插件,我们只需要利用bintray提供的插件编写gradle文件就可以了。

我们这里借助于bintray-release插件来将类库上传至binary,有兴趣的朋友可以针对bintray插件编写相应的gradle代码。

通过bintray-release插件极大的简化了“上传至bintray”这个步骤,具体可以library的build文件中加入如下代码。

apply plugin: 'com.novoda.bintray-release' // must be applied after your artifact generating plugin (eg. java / com.android.library)

buildscript {
    repositories {
        jcenter {
            url "http://jcenter.bintray.com/"
        }
    }
    dependencies {
        classpath 'com.novoda:bintray-release:0.3.4'
    }
}
publish {
    userOrg = ‘tubb’ // 用户所在组织
    groupId = ‘com.tubb.smrv’ // 包名
    artifactId = 'swipemenu-recyclerview’ // library的名字
    publishVersion = ‘1.0.3’ // 版本
    desc = 'A swipe menu for RecyclerView’ // library描述
    website = 'https://github.com/TUBB/SwipeMenuRecyclerView'
}

构建的命令变为

./gradlew clean build bintrayUpload -PbintrayUser=tubb -PbintrayKey=8346bd8f90a7c31c26a340590e7259b29315c0fa -PdryRun=false

其中bintrayUser为你在bintray上的用户名,bintrayKey为API key(用户中心可以找到)

命令执行成功后,bintrayUpload任务会为你把类库(aar、jar等)上传至bintray

2、Linked to jcenter

上传至bintray后你的类库还不能马上被别人下载使用,还有一个比较关键的步骤,需要Linked to jcenter,这一步需要审核(后续的版本升级不需要此步骤),一般在几个小时就审核好,耐心等待一下

3、最后一步,在jcenter上发布你的类库

一般第二步审核完后,就已经Linked to jcenter了,就会在类库主页出现红框所示图标,表示已经在jcenter上存在你的类库

Android library上传到jcenter_第1张图片

点击红框图标,进入到jcenter页面,最后一步发布也是在这里完成,点击Include My Package按钮发布

Android library上传到jcenter_第2张图片

接下来只要输入你的类库名字,点击发布就可以了,之后其他开发者就可以一行引入你的类库

Android library上传到jcenter_第3张图片

compile ‘com.tubb.dotview:dotview:1.0.0’ // 由三部分构成 (包名:库名:版本号)

这里有一个完整的build.gradle,仅供参考 [ build gradle ]

后续类库的升级只需要执行第一步即可。

你可能感兴趣的:(Android)