Bintray/JCenter/JitPack发布及配置流程

Bintray/JCenter/JitPack发布及配置流程

前言

本文目的是希望把项目模块化、组件化,提供上传,方便依赖。

Bintray

官网: bintray.com/

账号注册与登录等步骤直接忽略,登录后点击图中按钮,添加仓库。
Bintray/JCenter/JitPack发布及配置流程_第1张图片

填写完成后,点击Create创建仓库。这里的Type为仓库类型,例如Maven、Docker、Npm等等。协议一般为Apache2.0。
Bintray/JCenter/JitPack发布及配置流程_第2张图片

仓库创建完成后,点击Add New Package,添加依赖包。
Bintray/JCenter/JitPack发布及配置流程_第3张图片

填写完成功后,点击Create Package,创建依赖包。依赖包名称就是上传时候填写的artifactId。
Bintray/JCenter/JitPack发布及配置流程_第4张图片

在此,网上找了很多资料后,最终决定使用bintray插件novoda来上传发布,可以极大的简化bintray发布流程。

在模块的build.gradle下,添加如下

// 当模块必须声明为com.android.library时才能使用,否则会报错
apply plugin: 'com.novoda.bintray-release'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.novoda:bintray-release:0.8.0'
    }
}

publish {
    repoName = 'android'  // 此字段为你的仓库名称,默认为"maven",上传的时候记得检查,否则上传会报错
    userOrg = 'novoda'  // bintray用户名
    groupId = 'com.novoda'  // 模块目录
    artifactId = 'bintray-release'  // 此字段为你的模块名称,唯一标识符
    publishVersion = '0.6.1'  // 版本号
    desc = 'Oh hi, this is a nice description for a project, right?'
    website = 'https://github.com/novoda/bintray-release'
}

如需其他字段,可以查阅Wiki

最终,执行上传发布命令。BINTRAY_USERNAME为你的bintray的用户名,BINTRAY_KEY为你的bintray的apikey。

gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false

查看apikey方法如下
Bintray/JCenter/JitPack发布及配置流程_第5张图片

JCenter

这个比较简单,bintray发布完成后,点击”Add To JCenter”,填写开源说明,点击Send就好了。但需要审核(大概一天)通过后才能依赖使用。
Bintray/JCenter/JitPack发布及配置流程_第6张图片
Bintray/JCenter/JitPack发布及配置流程_第7张图片

JitPack

官网:jitpack.io

Bintray配置虽然不麻烦,但也不简单。如果想更简单更轻松的发布的话,可以用JitPack。几乎可以算是一步搞定!

进入官网,并用github账号登录,他会直接关联到你github里的项目,然后选择需要发布的项目,选择版本Version,点击Get it!然后?就没然后了…这样就好了,可以在项目里依赖了。
Version名称可以用git添加tag来改变。
Bintray/JCenter/JitPack发布及配置流程_第8张图片

在你项目的build.gradle里,添加仓库”https://jitpack.io“.

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

然后在模块里添加依赖.

dependencies {
    compile 'com.github.xhjnono:android-exercises:-SNAPSHOT'
}

至此完成发布。

总结

JitPack虽然是最简单的,但是他是基于把整个项目作为依赖的,Bintray/JCenter则可以上传单个模块作为依赖,所以还是根据个人所需来选择吧。

你可能感兴趣的:(Maven,Android)