Подтвердить что ты не робот

Невозможно вызвать getBootClasspath() до вызова setTargetInfo()

Я новичок в студии android, когда я синхронизирую приложение для Android, я получил ошибку.

C:\Users\Mansukh\Desktop\layout\MaterialDesignLibrary-master\MaterialDesign\build.gradle

Error:(97, 0) Cannot call getBootClasspath() before setTargetInfo() is called.

Пожалуйста, расскажите мне, что означает ошибка, и каково решение этой ошибки. я пытаюсь выяснить проблему в Интернете, но я не смог получить конкретное решение.

Вот мой файл gradle.build.

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

android {
    compileSdkVersion 19
    buildToolsVersion '20.0.0'

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']

            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']

            renderscript.srcDirs = ['src']

            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
        androidTest.setRoot('tests')
    }

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 21
        versionCode 6
        versionName '1.4'
    }
}

ext.siteUrl = 'https://github.com/navasmdc/MaterialDesignLibrary'
ext.issueUrl = 'https://github.com/navasmdc/MaterialDesignLibrary/issues'
ext.gitUrl = 'https://github.com/navasmdc/MaterialDesignLibrary.git'

bintray {
    user = hasProperty('BINTRAY_USER') ? BINTRAY_USER : "navasmdc"
    key = hasProperty('BINTRAY_KEY') ? BINTRAY_PASSWORD : ""

    configurations = ["archives"]
    pkg {
        repo = 'maven'
        name = 'MaterialDesignLibrary'
        desc = 'This is a library with components of Android L to you use in android 2.2'
        websiteUrl = siteUrl
        issueTrackerUrl = issueUrl
        vcsUrl = gitUrl
        licenses = ['Apache-2.0']
        labels = []
        publicDownloadNumbers = true
    }
}

dependencies {
    compile 'com.nineoldandroids:library:2.4.+'
    compile 'com.android.support:support-v4:21.+'
}

install {
    repositories.mavenInstaller {
        pom {
            project {
                packaging 'aar'
                name 'MaterialDesignLibrary'
                url siteUrl
                licenses {
                    license {
                        name 'The Apache Software License, Version 2.0'
                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }
                developers {
                    developer {
                        id 'navasmdc'
                        name 'Iván Navas'
                        email '[email protected]'
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl
                }
            }
        }
    }
}

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

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

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives javadocJar
    archives sourcesJar
}

task findConventions << {
    println project.getConvention()
}
4b9b3361

Ответ 1

Это ошибка в плагине Gradle 1.1.0, как описано здесь: Проблема 152811. Исправление уже выпущено

Решение заключается в изменении версии плагина до версии 1.1.1 или выше (в настоящее время доступна версия 1.1.2). classpath 'com.android.tools.build:gradle:1.1.2'

Обновление

Существует еще одна подобная ошибка Android Gradle Плагин 1.1.0 разбивает задачи Javadoc, который исправлен в версии 1.2.2.

Ответ 2

Я найду какое-то решение, попробую это, если работа

изменить файл gradle

task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath += files(ext.androidJar)
}

Выше кода заменить на этот

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