博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android快速发布项目到jcenter
阅读量:6711 次
发布时间:2019-06-25

本文共 2701 字,大约阅读时间需要 9 分钟。

最近在整理项目的时候,想要上传至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排查下。

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

进入我们的上传的空间中就会看到我们的项目,例如我刚上传的地址:

你上传的地址在:你的用户名/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.  

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

作者:zhcswlp0625
来源:51CTO

转载地址:http://ovolo.baihongyu.com/

你可能感兴趣的文章
大数据系列之Flume(一)
查看>>
JS中的反柯里化
查看>>
使用kubeadm部署k8s1.8
查看>>
再也不学AJAX了!(一)AJAX概述
查看>>
我为什么从Redux迁移到了Mobx
查看>>
解读生产环境为何避免使用console.log
查看>>
高性能MySQL读书笔记 (一)
查看>>
传统Http服务与SpringCloud微服务的整合
查看>>
Anaconda使用总结
查看>>
浅析HTTP/2的多路复用
查看>>
leetcode 530. Minimum Absolute Difference in BST | inorder
查看>>
Lodash 源码分析(三)Array
查看>>
ZooKeeper安装部署
查看>>
从Vue.js源码角度再看数据绑定
查看>>
linux cgroup代码学习(2)——数据结构整理
查看>>
postcss-lazysprite: 一种生成CSS 雪碧图的懒惰姿势
查看>>
SpreadJS 在 Angular2 中支持哪些事件?
查看>>
[LeetCode] Shortest Distance from All Buildings
查看>>
spring-boot 自定义解析器实现参数绑定
查看>>
SegmentFault 官方翻译功能上线
查看>>