准备工作
1.注册Jcenter账号
Jcenter分企业版和免费版,企业版是需要首付的。免费版在 https://bintray.com/signup/oss 注册,如果不小心在https://bintray.com/注册成企业版了,可以在Jcenter个人中心注销账户然后重新注册。
鼠标放在右上角头像出,在弹出浮层上点击
Edit Profile
,拉到最下面有个Delete Account
,就可以注销账号。
2.创建Repository
在主页左边有一个Add New Repository
1.png 2.png在这一步Name必须填maven,因为后面在Android studio中上传项目的时候所用到的插件默认就是上传到maven仓库下。
3.创建Package
在上传项目前还需要在maven Repo中新建对应的Package(对应要上传的项目),点击Add New Package
。
填写项目相关信息,这里有一个点需要注意,那就是填写Version control *
的时候并不是填写git地址,而是项目的托管网站(例如,代码托管在github上就填https://github.com
就行了)。
至此Jcenter的准备工作已完成。
引入bintray-release插件
1.引入插件
在需要被上传的library module的build.gradle
文件中引入插件
//必须在com.android.library后面
apply plugin: 'com.novoda.bintray-release'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.novoda:bintray-release:<latest-version>'//写此文时最新版本为0.9.1
}
}
publish {
userOrg = '' //在jcenter注册时填写的用户名,不是填写的姓名
//组id,类似于com.android.support:appcompat-v7:28.0.0中的 com.android.support
groupId = 'com.novoda'
//项目id,类似于com.android.support:appcompat-v7:28.0.0中 的appcompat-v7
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' //可选,项目地址
}
2.上传项目到Jcenter
在项目的根目录下执行
./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
BINTRAY_USERNAME是Jcenter注册时的用户名。
BINTRAY_KEY即Jcenter API Key,可在Edit Profile -> API Key
查看。
不出意外命令执行成功,则项目已成功上传至Jcenter。
最后一步,发布项目到Jcenter服务器
经过以上步骤项目已上传至Jcenter,但此时其他人还无法通过Jcenter()获取到你的项目。在项目发布前以及审核过程中只能通过maven的方式访问你的项目。
allprojects {
repositories {
maven {
//在第一步新建的maven repo地址
url 'https://dl.bintray.com/umsdk/release'
}
}
}
6.png
最后一步是点开相应Package,可以看到右下方Linked to模块有个Add to JCenter
按钮,点击后打开一个网页,在此输入这个项目的描述(最好英文),不用多长,一句话就可以。然后点击Send
可以提交审核。审核一般要不了多久,通过后会通过站内私信通知。
至此便大功告成,其他人可以通过Jcenter访问你的库了。在Package主页的左下角的Maven build settings
可以查看引用方式。
踩坑
Jcenter Repo问题
bintray-release
插件上传项目默认是传到maven下,所以在新建repo时需要命名为maven才行。
bintray-release版本问题
插件的版本跟项目gradle的版本有对应关系,最好是都用最新的,不然有可能在上传时会失败。
网友评论