Bintray/JCenter/JitPack发布及配置流程
前言
本文目的是希望把项目模块化、组件化,提供上传,方便依赖。
Bintray
官网: bintray.com/
账号注册与登录等步骤直接忽略,登录后点击图中按钮,添加仓库。
填写完成后,点击Create创建仓库。这里的Type为仓库类型,例如Maven、Docker、Npm等等。协议一般为Apache2.0。
仓库创建完成后,点击Add New Package,添加依赖包。
填写完成功后,点击Create Package,创建依赖包。依赖包名称就是上传时候填写的artifactId。
在此,网上找了很多资料后,最终决定使用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方法如下
JCenter
这个比较简单,bintray发布完成后,点击”Add To JCenter”,填写开源说明,点击Send就好了。但需要审核(大概一天)通过后才能依赖使用。
JitPack
官网:jitpack.io
Bintray配置虽然不麻烦,但也不简单。如果想更简单更轻松的发布的话,可以用JitPack。几乎可以算是一步搞定!
进入官网,并用github账号登录,他会直接关联到你github里的项目,然后选择需要发布的项目,选择版本Version,点击Get it!然后?就没然后了…这样就好了,可以在项目里依赖了。
Version名称可以用git添加tag来改变。
在你项目的build.gradle里,添加仓库”https://jitpack.io“.
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
然后在模块里添加依赖.
dependencies {
compile 'com.github.xhjnono:android-exercises:-SNAPSHOT'
}
至此完成发布。
总结
JitPack虽然是最简单的,但是他是基于把整个项目作为依赖的,Bintray/JCenter则可以上传单个模块作为依赖,所以还是根据个人所需来选择吧。