Android快速发布项目到jcenter

移动开发 Android
最近在整理项目的时候,想要上传至Jcenter,可以让大家一句代码就可以引入。本文准备采用鸿洋推荐的bintray-release这个插件,个人感觉比gradle-bintray-plugin要方便很多。

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

下面由我带着各位一步步走向大牛之路,走向幸福奔小康。本文准备采用鸿洋推荐的bintray-release这个插件,个人感觉比gradle-bintray-plugin要方便很多。

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

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

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

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

 

 

 

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

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

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

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

 

 

 

第二步:引入bintray-release

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

 

 

 

项目的build.gralde引入

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

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

 

 

 

配置待上传moudle的build.gralde

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

  1. apply plugin: 'com.novoda.bintray-release'//添加 
  2.  
  3. //添加 
  4.  publish { 
  5.     userOrg = 'shantecnology'//bintray.com用户名 
  6.     groupId = 'com.halloandroid'//jcenter上的路径 
  7.     artifactId = 'tobebetter'//项目名称 
  8.     publishVersion = '1.0.0'//版本号 
  9.     desc = 'this is for test'//描述,不重要 
  10.     website = 'https://github.com/shanlovana/tobebetter'//网站,最好有,不重要 
  11.  

 

 

 

 

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

  1. compile 'com.halloandroid:tobebetter:1.0.0 

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

上传代码至Bintray

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

windows系统:

  1. gradlew clean build bintrayUpload  
  2.  -PbintrayUser=shantecnology   
  3.  -PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx  
  4.  -PdryRun=false  

Mac系统:

  1. ./gradlew clean build bintrayUpload  
  2. -PbintrayUser=shantecnology   
  3. -PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx  
  4. -PdryRun=false  

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

 

 

 

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

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

 

 

 

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

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

 

 

  

 

 

 

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

 

 

 

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

注意事项:

乱码问题:

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

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

  1. allprojects { 
  2. tasks.withType(Javadoc) { 
  3.     options{ 
  4.         encoding "UTF-8" 
  5.         charSet 'UTF-8' 
  6.         links "http://docs.oracle.com/javase/7/docs/api" 
  7.     } 
  8.   } 
  9.  

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

版本更新

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

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

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

责任编辑:庞桂玉 来源: Android开发中文站
相关推荐

2013-07-22 11:18:02

Android开发框架Afinal

2014-05-30 14:06:46

2021-07-26 05:21:37

JenkinsAndroid自动化

2021-08-09 06:27:04

Gulp项目工具

2015-01-26 09:57:47

GradleMaven Centr

2018-06-13 16:38:33

React Nativ组件Android

2021-04-20 07:47:00

JCenter停止服务

2011-09-13 17:52:37

Eclipse And

2020-11-10 13:08:45

镭速功能视觉

2014-06-26 11:04:49

Android L

2023-11-20 22:35:32

2015-06-11 16:36:27

ASP.NET

2011-12-09 11:23:37

IBM SKC智慧云快速云

2021-02-24 11:29:37

Windows 10Windows微软

2023-08-07 08:12:12

开源项目社区性质feature

2020-09-22 07:59:12

项目软件

2014-07-14 10:54:13

Android Stu

2010-01-27 10:45:32

Android快速启动

2011-07-07 17:23:50

开发制作软件

2021-02-02 14:39:03

微服务架构数据
点赞
收藏

51CTO技术栈公众号