转自:http://blog.csdn.net/Small_Lee/article/details/52328613
概述
首先给出gradlew命令
gradlew clean build bintrayUpload -PbintrayUser=用户名 -PbintrayKey=xxxxxxxxxxx -PdryRun=false
最近在将写好的库发布到jCenter的一个步骤中,出现了一个错,错误信息如下:
大概意思是说产生JavaDoc的时候出错了,经过网上查找,解决办法如下:
allprojects {
repositories {
jcenter()
}
//加上这些
tasks.withType(Javadoc) {
options {
encoding "UTF-8"
charSet 'UTF-8'
links "http://docs.oracle.com/javase/7/docs/api/"
}
}
}
之后又遇到一个错:
* What went wrong:
Execution failed for task ':dashview:bintrayUpload'.
> Could not create version 'v1.0.0': HTTP/1.1 401 Unauthorized [message:This resource requires authentication]
错误的大概意思是资源需要验证,经过一番尝试,解决办法如下:
publish {
userOrg = 'smalllee'//bintray.com用户名
groupId = 'com.robert'//jcenter上的路径
artifactId = 'dashview'//项目名称
.....
}
这里的artifactId是你之前最初在bintary的maven中创建的那个package的名字,这里需要对应上,否则会上传失败 :
有些朋友有时也可能会遇到下面这个错:
* What went wrong:
Execution failed for task ':dashview:bintrayUpload'.
> Could not create package 'smalllee/maven/dashview': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
出这个错的原因是你创建仓库的时候名称写的不是maven,也就是说你创建仓库的时候应该按照下面的方式,名字必须指定为maven。
上面的错解决完以后,感觉离成功已经不远了,执行gradlew命令后又遇到一个错:
Execution failed for task ':flybanner:bintrayUpload'.
> Could not upload to 'https://api.bintray.com/content/SmallLee/maven/flybanner/1.0.0/com/lxn/flybanner/1.0.0/flybanner-1.0.0-sources.jar': HTTP/1.1 404 Not Found [message:Subject 'SmallLee' was not found]
最后发现,出这个错的原因是因为一次只能上传一个library,如果你此时在其他library里面也进行了上传配置的话,就会报上面的错,这点一定要注意。
解决完上面的错误以后,就上传成功了,我们可以看到上传的项目。
相关文章
Android 快速发布开源项目到jcenter
Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
使用Gradle发布Android开源项目到JCenter
使用Gradle发布项目到JCenter仓库
gradle-publish