作为一个Android开发,目前大部分应该使用的是AS了。那么导入gradle使用三方library次数应该也不少,像这样
compile 'com.google.zxing:core:3.2.1',毕竟是开源,有很多东西不必自己亲力亲为,站在巨人的肩膀上继续前进才是我们Android的通天大道。美女镇楼,通天大道!
那么好的技术好的库都应该拿出来分享,像放在git、codekk、csdn、掘金、微信公众号等等一些技术分享平台,这些都是开源进步的良性循环。那么如何发布项目到Jcenter呢,在网上找了很多博文,写的也很不错。我这里简单描述一下自己的学习经历,供大家参考学习。
首先去Jcenter官网注册一个账号,https://bintray.com/signup/oss注册一个用户,我在这位 zhcswlp0625 博友上的博客发现,很多初学者很容易去注册一个企业账号,这里就不给企业注册的链接了。以免误导大家。
进入网页之后
注册好之后,点击右上角的signIn登录账号。
登录成功之后,添加一个项目仓库。
名字可以随意取,一般取名为maven。
现在我们的maven创建成功了。可以自己创建package,也可以通过AS来上传。主要是讲一下通过AS上传的方法。登陆后在首页右上角点击用户名进入个人主页,然后点击用户名下面的Edit Profile进入个人信息编辑页面,接下来点击页面左边列表的最后一项API Key,保存下来,待会儿要用 。 如图所示点击最右边箭头指示的复制按钮即可复制你的API Key
首先你应该有一个自己待上传的项目。我在这里用我的一个Andrdoid library模拟上传,我有一个基于Zxing二次封装的二维码扫描项目,添加了二维码图片识别。这样分享出来,在项目中使用的时候很方便。
在你的项目的build.gradle添加bintray-release的classpath,注意是项目的build.gradle,不是module的或者library的build
classpath 'com.novoda:bintray-release:0.3.4'
来到你想要上传的library module,配置相关的build.gradle
apply plugin: 'com.novoda.bintray-release'//添加
//添加
publish {
userOrg = 'singleshu8'//bintray.com用户名 也就是Organization的名称,可以建多个
groupId = 'com.helloandroid'//jecnter上的路径 可以自定义
artifactId = 'ZxingPlus'//项目名称
publishVersion = '1.0.1'//版本号
desc = 'this is for test'//描述
website = 'https://github.com/SingleShu/QRScanLibrary'//网址
}
按照图片知道编写即可,细节有注释了。
上传很简单,在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的时候,会运行所有的环节,但是不会上传。
然后就是等待,当运行并上传完成,看到BUILD SUCCESSFUL就没问题了,如果有问题,根据log排查下。
进入我们的上传的空间中就会看到我们的项目,例如我刚上传的地址:https://bintray.com/singleshu8/maven
你上传的地址在:https://bintray.com/你的用户名/maven(singleshu8:是Organization名称、maven:是你创建仓库的名称)
点项目进去看一看。
如果想要发布到Jcenter,需要点击 【Add to jCenter 】按钮。然后出现如下界面
教程到此就结束了,不过目前还是不能直接引用的,你需要等待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"
}
}
}
我们上传完成后,肯定会涉及到更新问题,那么How to update呢?
publish { userOrg = 'singleshu8'//bintray.com用户名 也就是Organization的名称,可以建多个 groupId = 'com.helloandroid'//jecnter上的路径 可以自定义 artifactId = 'ZxingPlus'//项目名称 publishVersion = '1.1.1'//版本号 desc = 'this is for test'//描述 website = 'https://github.com/SingleShu/QRScanLibrary'//网址 }
大部分都不用动,只要修改下版本号就可以了,修改完成后,执行上传那段代码,上传完成后,点击下图按钮即可。更新的审核比较快,稍等一下就行了。
参考:http://blog.youkuaiyun.com/zhcswlp0625/article/details/54895584 作者:zhcswlp0625
http://www.cnblogs.com/miaoqing/p/5584274.html 作者:天羽飞龙