1. 上传流程
参考了hongyang的教程https://blog.csdn.net/lmj623565791/article/details/51148825,教程相当简练,藏坑不少。
下面说我在上传的过程中需要注意的点和踩到的几个坑。
bintray-release
的好处是流程相对简单,配置很少的东西就可以了。
1、https://bintray.com/注册账号,需要注意的是需要点Sign Up to an Open Source account
这个地方来注册,直接注册的话是跟网上的教程不对付的。
我是用Github的账号signin的,最好用github的登录注册,因为最终的代码还需要上传到github上才行。
2、创建repository,需要注意的就是名字需要叫maven
,类型也选成Maven。bintray-release需要仓库的名字叫maven
3、按照hongyang的教程创建脚本并上传
publish {
userOrg = 'yocn'//bintray.com用户名,右上角
groupId = 'com.yocn'//jcenter上的路径
artifactId = 'seep'//项目名称
publishVersion = '1.0.0.alpha'//版本号
desc = 'Oh hi, this is a nice description for a project, right?'//描述,不重要
website = 'https://github.com/yocn/SeepForDebug'
}
需要注意的点:
1、userOrg = 'yocn'
这个是右上角的用户名
2、website = 'https://github.com/yocn/SeepForDebug'
这个很重要,需要你把代码传到github上,这个就是你项目的地址,网上还有一些文章说不要设置成ssl的方式,这里我没有试过,不确定是不是有问题。
上传脚本就按照教程来就好了,没有什么坑
./gradlew clean build bintrayUpload -PbintrayUser=yocn -PbintrayKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -PdryRun=false
2. 遇到的几个问题
Unable to load class ‘org.gradle.api.internal.component.Usage’.
No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage
bintray-release现在最高的版本是0.9.2,我新建的新项目用的是gradle tools 6.0.1,貌似不支持,修改成gradle-5.4.1-all.zip 对应的com.android.tools.build:gradle:3.5.2
Execution failed for task ':bintrayPublish'.
> Could not publish 'xxxx/maven/seep/1.0.0.alpha': HTTP/1.1 401 Unauthorized [message:This resource requires authentication]
要不然是用户名写错了 或者是 没有上传git,检查一下哪里的问题
Could not publish 'zhaoyocn/maven/seep/1.0.0.alpha': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
上面说的仓库没有命名成maven
,添加一个叫maven
的仓库重试一下。
Execution failed for task ':seep:javadocRelease'.
> Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): '/Users/yocn/SeepForDebug/seep/build/tmp/javadocRelease/javadoc.options'
上传至jcenter时报此错误,解决方法:在项目的build.gradle的最外层加入:
tasks.getByPath(":(你想要禁止的module名称,如app):javadocRelease").enabled = false
如:
tasks.getByPath(":app:javadocRelease").enabled = false
sync项目,OK了。
网友评论