1

我正在尝试将我的库上传到 jCenter。我正在关注本教程:

http://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en

按照这些步骤并在 Android 终端中输入“> gradlew bintrayUpload”后,我收到以下错误:

:app:bintray上传失败

FAILURE:构建失败并出现异常。

  • 出了什么问题:发现任务 ':app:bintrayUpload' 的配置存在一些问题。

    没有为属性“packageName”指定值。没有为属性“用户”指定值。没有为属性“apiKey”指定值。没有为属性“repoName”指定值。

在将我的问题标记为重复之前,我将表明我尝试了以下 stackoverflow 问题的解决方案:

已指定出版物,但项目中不存在出版物 :library

尝试该解决方案后,我收到以下错误:

FAILURE:构建失败并出现异常。

  • 出了什么问题:
    在根项目“UniFont”中找不到任务“bintrayUpload”。

搜索这个错误,我从stackoverflow上的这个问题得到以下解决方案: Task 'bintrayUpload' not found in root project 'bin'

那不是我的解决方案。我的 jdk/jre 路径存在。我曾多次尝试在它们之间切换。选题:

我是否需要将 JDK 和 JRE 路径都声明到 Windows 环境变量中?

这是我的顶级 build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
dependencies {
    classpath 'com.android.tools.build:gradle:1.2.3'
    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
    classpath 'com.github.dcendents:android-maven-plugin:1.2'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    }
}

allprojects {

//apply plugin: 'com.jfrog.bintray'

repositories {
    jcenter()
    }
}

这是我的 build.gradle(app 模块):

apply plugin: 'com.android.library'

android {
compileSdkVersion 22
buildToolsVersion "23.0.0 rc3"

defaultConfig {
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {

    }
}

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

ext {
    bintrayRepo = 'maven'
    bintrayName = 'Library Name'

publishedGroupId = '...'
libraryName = '...'
artifact = '...'

libraryDescription = 'A simple library for setting a single font in a View in Android.'

siteUrl = '...'
gitUrl = '...'

libraryVersion = '1.0'

developerId = '...'
developerName = '...'
developerEmail = '...'

licenseName = 'The Apache Software License, Version 2.0'
licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
allLicenses = ["Apache-2.0"]
}

谁能帮我解决这个问题?

谢谢!

4

1 回答 1

0

这是一个将库上传到 bintray 的简单教程。

build.gradle的项目文件应该是这样的。

buildscript {
 //...
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'org.codehaus.groovy:groovy-backports-compat23:2.3.5'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
        classpath 'com.github.dcendents:android-maven-plugin:1.2'
        }
}
    //...    
}

并将这些行添加build.gradle到您想要上传到 jcenter 的所需模块的文件末尾

ext {
    developerId = 'your username in bintray'
    developerName = 'your name'
    developerEmail = 'your email'
    bintrayRepo = 'maven'
    bintrayName = 'your library name in bintray'

    publishedGroupId = 'your group id'
    libraryName = 'your library name(better to be as like as bintrayName)'

    artifact = 'your artifact'

    libraryDescription = 'description'
    libraryVersion = 'version'

}
apply from: 'https://raw.githubusercontent.com/smasoumi/Bintray/master/install.gradle'
apply from: 'https://raw.githubusercontent.com/smasoumi/Bintray/master/bintray.gradle'

并将您的 apiKey 和 bintray 的用户名添加到您的local.properties并将您的 gradle 版本更改为2.2.1

然后执行

gradlew.bat install

如果显示成功消息,则通过此命令将您的项目上传到 bintray

gradlew.bat bintrayUpload

还要确保设置了 JDK 路径。

于 2015-08-02T18:07:19.023 回答