Android Studio发布项目到Jcenter

准备工作

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

3.png

填写项目相关信息,这里有一个点需要注意,那就是填写Version control *的时候并不是填写git地址,而是项目的托管网站(例如,代码托管在github上就填https://github.com就行了)。

4.png

至此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:'//写此文时最新版本为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查看。

5.png

不出意外命令执行成功,则项目已成功上传至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的版本有对应关系,最好是都用最新的,不然有可能在上传时会失败。

你可能感兴趣的:(Android Studio发布项目到Jcenter)