最近在整理项目的时候,想要上传至Jcenter,可以让大家一句代码就可以引入。就在网上寻找,然而网上有些方法实在是太麻烦,故写此篇文章将心酸历程写下,让各位老司机少走弯路,快速发布。而且最近更坑人的是bintray改版了,所以现在很多人上传成功代码后发现没有Add to Jcenter按钮,天啦撸,坑死人。

学习Android的同学注意了!!!学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Android学习交流群,群号码:364595326 我们一起学Android!

第一步:申请Bintray账号并获取所需信息(非常重要,仔细看步骤)

为什么要注册这个账号呢,因为jcenter()属于bintray旗下的一个仓库。

所以各位大兄弟需要一个bintray的账号撒。注册网址:https://bintray.com/

走到这里,你已经错完了,除非你是企业用户或者是等待30天以后,为什么呢?看图说话!

Android快速发布项目到jcenter_文章

个人免费版的注册地址https://bintray.com/signup/oss

注意一下邮箱问题:不能用QQ,163等,如果用的Github快速登录,也要注意邮箱问题。

获取信息:登陆后在首页右上角点击用户名进入个人主页,然后点击用户名下面的Edit Profile进入个人信息编辑页面,接下来点击页面左边列表的最后一项API Key,保存下来,待会儿要用 。

如图所示点击最右边箭头指示的复制按钮即可复制你的API Key:

Android快速发布项目到jcenter_仓库_02

第二步:引入bintray-release

首先你应该有一个自己待上传的项目。我在这里用我的一个Android library模拟一个简单的项目。tobebetter是个Android library,主要用来存放一一个数字时钟,我们现在要将其上传到jcenter。

Android快速发布项目到jcenter_Android_03

项目的build.gralde引入

在你的项目的build.gradle添加bintray-release的classpath,注意是项目的build.gradle,不是module的,MyApplication3/build.gradle。

classpath 'com.novoda:bintray-release:0.3.4'

Android快速发布项目到jcenter_文章_04

配置待上传moudle的build.gralde

来到你想要上传的module,针对文章开始的图即MyApplication3/tobebetter/build.gradle。

apply plugin: 'com.novoda.bintray-release'//添加  //添加 
 publish {    
  userOrg = 'shantecnology'//bintray.com用户名     
  groupId = 'com.halloandroid'//jcenter上的路径     
  artifactId = 'tobebetter'//项目名称   
    publishVersion = '1.0.0'//版本号     
    desc = 'this is for test'//描述,不重要    
     website = '
       }

Android快速发布项目到jcenter_Android_05

按照图片知道编写即可,细节有注释了,假设按照上述的编写,并上传成功,那么你的项目最终引入的方式为:

compile 'com.halloandroid:tobebetter:1.0.0

完成上面的配置,我们就开始准备上传了。

上传代码至Bintray

上传很简单,在Android Studio的Terminal面板进行,执行下面的代码即可:

windows系统:

gradlew clean build bintrayUpload  
 -PbintrayUser=shantecnology   
  -PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx   
  -PdryRun=false

Mac系统:

./gradlew clean build bintrayUpload  
-PbintrayUser=shantecnology   
-PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx 
 -PdryRun=false

user就是用户名,key就是我们刚才的Api key,dryRun是一个配置参数,当为true的时候,会运行所有的环节,但是不会上传。

Android快速发布项目到jcenter_Android_06

然后就是等待,当运行并上传完成,看到BUILD SUCCESSFUL就没问题了,如果有问题,根据log排查下。

到此就上传完成,是不是很快呢!

Android快速发布项目到jcenter_Android_07

进入我们的上传的空间中就会看到我们的项目,例如我刚上传的地址:https://bintray.com/shantecnology/maven

你上传的地址在:https://bintray.com/你的用户名/maven

Android快速发布项目到jcenter_项目_08 

Android快速发布项目到jcenter_仓库_09

提交的时候要做一个简短的英文描述,尽量不要用中文。

Android快速发布项目到jcenter_文章_10

教程到此就结束了,不过目前还是不能直接引用的,你需要等待bintray的工作人员审核,审核通过会给你发送站内Message,大概两个小时左右,并且Add to Jcenter那个按钮就消失了。

注意事项:

乱码问题:

注释中有中文,可能会出现:编码GBK的不可映射字符

1,项目的build.gradle中添加:

allprojects { tasks.withType(Javadoc) {   
  options{        
   encoding "UTF-8"        
    charSet 'UTF-8'        
     links "http://docs.oracle.com/javase/7/docs/api"    
      }   } }

2,其实我觉得完全可以将中文注释换成英文,毕竟我们是要成为大佬的男人,你懂得!百度翻译,必应翻译。。。。

版本更新

我们上传完成后,肯定会涉及到更新问题,那么How to update呢?

publish {  
  userOrg = 'shantecnology'//bintray.com用户名    
  groupId = 'com.halloandroid'//jcenter上的路径   
   artifactId = 'tobebetter'//项目名称   
    publishVersion = '2.0.0'//版本号    
    desc = 'this is for test'//描述,不重要   
     website = 'https://github.com/shanlovana/tobebetter'//网站,最好有,不重要 }

大部分都不用动,只要修改下版本号就可以了,修改完成后,执行上传那段代码,上传完成后,点击下图按钮即可。更新的审核比较快,稍等一下就行了。