作为一个android开发工程师,经常会用到一些开源的框架或者效果。最近自己也做了一些简单的效果想上传上去,供他人使用。直接通过compile方式就可以使用,不再需要去github上clone。下面我介绍一下我实际操作的步骤和遇到的一些问题。
1.首先需要去注册一个jcenter账号:https://bintray.com/signup/oss (注意这个是个人注册的地址,还有一个是企业的)
注意:邮箱要是国外的邮箱,QQ邮箱和网易等邮箱是不能使用的,我这里用的gmail。
在注册邮箱的使用也遇到了一个问题:提示此电话号码无法用于进行验证,网上找了很多方法都无法解决,最后我是通过QQ邮箱APP注册的gmail。(在注册gmail邮箱的时候,需要注意输入手机号的时候,选择相应的国家)
2.注册之后,进入到jcenter账号:
点击Add New Repository 添加项目库:(注意:name最好为maven)
然后找到自己的api key,留用:
然后提交之后就会得到API Key。
3.配置自己的项目:
1)在项目的build.gradle中添加:
classpath 'com.novoda:bintray-release:0.3.4'
然后在module中的build.gradle中添加:
apply plugin: 'com.novoda.bintray-release'
//添加 publish { userOrg = 'whatshappen'//用户名 groupId = 'com.whathappen'//组名。如果包名是com.whathappen.progresslibrary则填写com.whathappen artifactId = 'progresslibrary'//项目名称 publishVersion = '1.0.0'//版本号 desc = 'progress view'//描述 website = 'https://github.com/whatshappen/ProgressView'//github上的项目地址 licences = ['Apache-2.0'] } //避免乱码 allprojects { tasks.withType(Javadoc) { options{ encoding "UTF-8" charSet 'UTF-8' links "http://docs.oracle.com/javase/7/docs/api" } } }
4.然后在Terminal终端输入:
gradlew clean build bintrayUpload -PbintrayUser=username -PbintrayKey=apikey -PdryRun=false
username:自己的jcenter账号;api key 就是之前留用的key。
此时还剩最后一步。当上述指令执行完成之后,登录jcenter,然后在创建的仓库下点击进去详情:
或者是在地址栏输入:https://bintray.com/用户名/maven。
然后点击项目,提交给jcenter审核。
在红框位置有一个add to jcenter按钮,点击提交,就可以了,一般在两三个小时就有结果了。
注意:我在运行这段程序的时候遇到的问题:
1.
这个原因是因为jdk与gradle的版本不匹配,我用的studio为2.3.3,gradle版本配置的2.3.3。然后将studio的jdk指定为1.8,还是不可以,通过终端打印jdk版本:
java -version
发现是1.7版本(我电脑里安装了1.7和1.8两个版本的jdk),所以需要指定java home 为1.8版本,我修改之后,执行,还是相同的错误,后来通过查资料,找到了另外一种解决方式,在项目的gradle.properties文件配置中设置javahome的路径:
org.gradle.java.home=jdk路径
解决了这个问题。
2.
这个问题是因为,没有创建maven仓库,也就是没有进行【点击Add New Repository 添加项目库:(注意:name最好为maven)】这一步
3.
在之后的更新的时候又遇到这个问题:
Execution failed for task ':progresslibrary:mavenAndroidJavadocs'.
解决办法: 可以在项目的gradle中添加
tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('encoding', 'UTF-8') }
可以避免去检测mavenAndroidJavadocs文件