【问题标题】:How to publish android library to Jfrog bintray?如何将 android 库发布到 Jfrog bintray?
【发布时间】:2017-01-16 22:45:08
【问题描述】:

我正在开发 Android 库,我已经完成了我的库工作并生成了 aar 和 jar 文件,但是当时我尝试发布到二进制文件时收到一条错误消息。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mylittlelibrary:bintrayUpload'.
> Could not create package 'abcd/maven/helloaar.example.com.mylittlelibrary': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]

* Try:
  Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 5.391 secs
Could not create package 'abcd/maven/helloaar.example.com.mylittlelibrary': HTTP/1.1 404 Not    Found [message:Repo 'maven' was not found]
2:41:59 AM: External task execution finished 'bintrayUpload'.

build.gradle

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

repositories {
   mavenCentral()
}

android {
compileSdkVersion 24
buildToolsVersion "24.0.0"

defaultConfig {
    minSdkVersion 17
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.0.0-beta1'
}

 group = 'helloaar.example.com.mylittlelibrary'
 version = '1.0.2'

 task generateSourcesJar(type: Jar) {
     from android.sourceSets.main.java.srcDirs
     classifier 'sources'
 }

 task generateJavaDocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
     classpath += project.files(android.getBootClasspath()
        .join(File.pathSeparator))
 }

 task generateJavaDocsJar(type: Jar) {
     from generateJavaDocs.destinationDir
     classifier 'javadoc'
 }
 generateJavaDocsJar.dependsOn generateJavaDocs

bintray {
    user = 'abcd'
    key = '1234567890fghgfhffjfgjfjfjrtyjtkjg'
    pkg {
       repo = 'maven'
       name = 'helloaar.example.com.mylittlelibrary'

    version {
        name = '1.0.2'
        desc = 'My test upload'
        released  = new Date()
        vcsTag = '1.0.2'
    }

    licenses = ['Apache-2.0']
    vcsUrl = ''
    websiteUrl = ''
}
configurations = ['archives']
}

artifacts {
   archives generateJavaDocsJar
   archives generateSourcesJar
}

请仔细阅读我的脚本并建议我一些解决方案。

【问题讨论】:

  • 您的帐户下是否有一个名为 maven 的 repo?
  • 嘿谢谢问题解决了...我在我的 maven 帐户下创建了一个名称
  • @DeeptimanPattnaik - 我只能在我的帐户中创建组织,然后创建一个回购。我这样做了,但对我没有帮助。有什么帮助吗?

标签: android maven bintray


【解决方案1】:
pkg {
    repo = 'maven'
    name = 'helloaar.example.com.mylittlelibrary'

    version {
        name = '1.0.2'
        desc = 'My test upload'
        released  = new Date()
        vcsTag = '1.0.2'
    }

Could not create package 'abcd/maven/helloaar.example.com.mylittlelibrary': HTTP/1.1 404 Not    Found [message:Repo 'maven' was not found]
2:41:59 AM: External task execution finished 'bintrayUpload'.

'abcd/maven/helloaar.example.com.mylittlelibrary'

  • abcd : bintray 用户名
  • maven : pkg { repo = 'maven' } 由你设置,例如设置 repo = 'android-lib' 时的'abcd/android-lib/helloaar.example.com.mylittlelibrary'
  • helloaar.example.com.mylittlelibrary : pkg{ name = 'helloaar.example.com.mylittlelibrary'

-

  • 首先:检查您的 bintray 帐户,
  • 第二个:制作存储库,
  • 第三:修改你的 pkg repo = 'inputmaking repository name from second step' build.gradle
  • 最后:再次构建

希望对你有帮助,祝你有个愉快的一天

【讨论】:

    【解决方案2】:

    在发布到 Bintray 之前,您必须有一个稳定的代码构建。 Bintray 上的层次结构如下: 用户 --> 仓库 --> 包 --> 版本 --> 工件 意味着 Repo 应该在该层次结构的包之上。

    gradle.build 中的以下几行可能是导致错误的主要原因:

    pkg {
        repo = 'maven'
        name = 'helloaar.example.com.mylittlelibrary'
    }
    

    层次结构错误。

    使用 maven 时应检查是否符合 maven 约定,否则 Maven 构建无法成功。 Explanation for Maven Repositories on Bintray.

    你遇到的错误:

    HTTP/1.1 404 Not Found [message:Repo 'maven' was not found] 
    

    表示你在 Bintray 调用 maven 上没有 Repository。所有包版本和文件都应该在您创建的 Bintray 存储库下。

    有关更多详细信息或支持问题,您可以使用 Bintray support 团队,该团队适用于所有 Bintray 用户,可以帮助您解决与任何 JFrog 平台服务(例如 Bintray、Artifactory、Mission control 和 Xray)相关的任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-19
      • 2017-05-28
      • 2015-01-25
      • 1970-01-01
      • 2018-08-26
      • 2016-03-23
      • 2018-04-10
      • 1970-01-01
      相关资源
      最近更新 更多