Android精选Android 开发

发布开源项目到Bintray、Jcenter遇到的坑

2019-07-17  本文已影响0人  BugFree张瑞

发布开源项目到 Bintray、Jcenter 遇到的坑

至于正常的发布流程,网上都有。

配置依赖:

project 的 build.gradle

dependencies {
    // 添加上传到jcenter所需的插件
    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
    classpath 'com.novoda:bintray-release:0.7.0'
}

module 的 build.gradle

apply plugin: 'com.novoda.bintray-release'//添加

publish {
    userOrg = 'bugfreezrr' // bintray.com 该网站你的用户名
    groupId = 'com.bugfree.zhangruirui.vitas' // jcenter 上的路径
    artifactId = 'vitas'//项目名称
    publishVersion = '1.0.3'//版本号
    desc = 'vitas log'//描述,不重要
    website = 'https://github.com/selfconzrr' //网站,不重要;尽量模拟github上的地址,例如我这样的;当然你有地址最好了
}

执行命令

// (注意,windows系统,命令行前面不需要 ./) 
gradlew clean build bintrayUpload -PbintrayUser=**** -PbintrayKey=********** -PdryRun=false

需要注意的是每一个 - 前面都需要加上空格

1、HTTP/1.1 404 Not Found [message: repo “maven” was not found]

repo.png

创建仓库很简单,但是:

2、could not create package "":HTTP/1.1 400 Bad Request [message: Please enter a valid VCS URL for your package]

上传时报该错,那是因为你没有创建 package,所以需要先创建 package 再进行上传。如下图,注意 package name 和 artifactid 必须一致,否则也会上传失败。


package.png

3、Execution failed for task ':xxxx:mavenAndroidJavadocs'. Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting):

注释采用中文,导致无法正常生成 Javadoc。生成 javadoc 报错,需要在你的工程的 build.gradle 文件中添加如下代码:

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/umsdk/release' }
    }
    // 下面三行
    tasks.withType(Javadoc) { // 新增
        options.addStringOption('Xdoclint:none', '-quiet')
        options.addStringOption('encoding', 'UTF-8')
    }
}

4、Execution failed for task ':app:lint'. Lint found errors in the project

Lint 检查默认是开启的,Lint 会检查项目中的语法错误,如果没有通过则无法继续。只需要在 Module 的 build.gradle 添加如下代码

android {
    lintOptions {
        abortOnError false
    }
}

5、Execution failed for task ':vitas:bintrayUpload'.

org.apache.http.conn.HttpHostConnectException: Connection to https://api.bintray.com refused

网络问题导致的上传失败。尝试以下两种方式:

6、Execution failed for task ':vitas:bintrayUpload'. Could not upload to 'https://api.bintray.com/content/bugfreezrr/maven/vitas/1.0.2/com/bugfree/zhangruirui/vitas/vitas/1.0.2/vitas-1.0.2-sources.jar': HTTP/1.1 409 Conflict [message:Unable to upload files: An artifact with the path 'com/bugfree/zhangruirui/vitas/vitas/1.0.2/vitas-1.0.2-sources.jar' already exists]

如果你已经发布了 1.0.2 版本到 bintray,再次发布 1.0.2,就会报这个错误:

7、Bintray 上传包到 Jcenter 时,报错 “Failed to send a message: The version control 1.0.0 returns 404.”

jcenter.png

把这个 VCS 属性改成自己仓库的地址,可以是 GitHub 的地址

——乐于分享,共同进步,欢迎补充
——Any comments greatly appreciated
——诚心欢迎各位交流讨论!QQ:1138517609
——CSDN:https://blog.csdn.net/u011489043
——简书:https://www.jianshu.com/u/4968682d58d1
——GitHub:https://github.com/selfconzrr

上一篇下一篇

猜你喜欢

热点阅读