Gradle Version 3.3 unterstützt die forTask () -Methode in BuildActionExecuter nicht


111

Ich habe gerade mein Android Studio auf 3.0 Kanarienvogel 1 aktualisiert. Jetzt arbeite ich an meinem vorhandenen Projekt auf Android Studio 3.0 Kanarienvogel 1. Standardmäßig ist gradle: 3.0.0-alpha1 in meinem Projekt festgelegt: gradle_file. Also habe ich meine Gradle-Version auf 2.2.3 geändert und jetzt erhalte ich diesen Fehler:

Fehler: Gradle-Ausführung konnte nicht abgeschlossen werden.

Ursache: Die von Ihnen verwendete Version von Gradle (3.3) unterstützt die forTasks () -Methode in BuildActionExecuter nicht. Unterstützung dafür ist in Gradle 3.5 und allen späteren Versionen verfügbar.

Ich habe meine Gradle-Datei hier angehängt

// 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:2.2.3'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

5
Kann jemand vorschlagen, wie Sie diese beheben können, ohne die Gradle-Version und die Android-Plugin-Version aktualisieren zu müssen? Weil dies viele andere Änderungen erfordert, die wir aufgrund einiger geschäftlicher Einschränkungen nicht durchführen können.
Sasuke Uchiha

Antworten:


196

Ich hatte gerade das gleiche Problem. Es wurde behoben, indem die Gradle-Verteilungs-URL in "gradle-wrapper.properties" geändert wurde.

Folgendes habe ich konfiguriert:

#Wed Mar 22 16:13:58 BRT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

für mehr Details

Offizielles Video zur Unterstützung der Zigarette https://www.youtube.com/watch?v=oBsbI8ICYKg

siehe auch Kommentar unten von @TmTron


19
Wenn Sie die neueste Distribution kennen möchten, besuchen Sie das Verzeichnis services.gradle.org/distributions . Alle von ihnen sind aufgeführt
IG Pascual

4
Bitte lesen Sie den Kommentar zu @IGPascual, bevor Sie zur spezifischen Version wechseln, da Sie die Version einfach auf die neueste derzeit verfügbare Version aktualisieren können. Wenn dieser Kommentar veröffentlicht wird, ist die aktuelle Version 4.0 (stabil). So ist es sicher, wenn Sie zudistributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
HendraWD

4
Seien Sie vorsichtig, wenn Sie eine Anwendung mit mehreren Modulen öffnen: Android Studio zeigt möglicherweise nur ein Gradle-Wrapper-Eigenschaftenfeld in der Projekt-Android-Ansicht an. Um sicherzustellen, dass alles geändert wird, verwenden Sie Find in Path (STRG + UMSCHALT + F) und suchen Sie nach DistributionUrl .
TmTron

Ich hatte auch das gleiche Problem mit dem folgenden Fehler. Cause: The version of Gradle you are using (3.3) does not support the forTasks() method on BuildActionExecuter. Support for this is available in Gradle 3.5 and all later versions. Also habe ich die Datei gradle-wrapper.properties fürdistributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
ViramP

1
Vielen Dank für Ihr Heads-up, @TmTron, das war mein Problem. falico, wenn es Ihnen nichts ausmacht, wäre es meiner Meinung nach von Vorteil, den Kommentar von TmTron in Ihrer obigen Antwort hervorzuheben.
BareMetalCoder

64

Änderung in der Datei "gradle-wrapper.properties".

Setzen Sie diese Zeile und synchronisieren Sie Project-

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

Das wird funktionieren. Überprüfen Sie die neueste Version services.gradle.org/distributions

Nach geändert, Sync - Projekt, reinigen und neu erstellen Projekt einmal von Build - Menü.


4
Überprüfen Sie services.gradle.org/distributions, bevor Sie zu einer bestimmten Version wechseln, da Sie die Version einfach auf die neueste derzeit verfügbare Version aktualisieren können. Wenn dieser Kommentar veröffentlicht wird, ist die aktuelle Version 4.0 (stabil). Es ist also sicher, wenn Sie zu wechseln distributionUrl=https\://services.gradle.org/distributions/g‌​radle-4.0-all.zip, da es stabiler als die milestone-1Version ist
HendraWD

Ja, Sie haben Recht, bevorzugen immer eine stabile Version als andere. Aber du kannst es trotzdem benutzen. @HendraWD Danke für den Kommentar.
Kailas Bhakade

Aktualisieren Sie Android Studio von 2.3 auf 3.0. Überprüfen Sie die offiziellen Richtlinien von youtube.com/watch?v=oBsbI8ICYKg
Kailas Bhakade,

28

Dies geschah beim Versuch, Debug-Apk zu erstellen.

LÖSUNG: Aktualisieren Sie die Gradle-Version auf 3.5

Navigieren Sie zu Datei -> Projektstruktur -> Projekt -> Gradle-Version = 3.5

Dies funktioniert für Android Studio 3.0

Dies ist das Bild des Menüs, in dem Sie die Änderung vornehmen müssen


Dies ist die Lösung für diejenigen, die absichtlich kein Upgrade auf Gradle 4 durchführen möchten.
RAM

Das tut es nicht. Es wird auf Gradle Version 3.5 aktualisiert, das Minimum für die Funktionalität, die er verwenden möchte.
Quinton M.

14

Bitte befolgen Sie die folgenden Schritte:

  1. Öffnen Sie Ihr Projekt in Android Studio
  2. Öffnen Sie im Android-Menü gradle-wrapper.properties
  3. Ändern Sie die Verteilungs-URL-Zeile mit der folgenden Zeile

DistributionUrl = https: //services.gradle.org/distributions/gradle-4.1-all.zip

  1. Das ist es. Erstellen Sie jetzt Ihr Projekt.

Der Screenshot ist zum besseren Verständnis beigefügt. Geben Sie hier die Bildbeschreibung ein


Fehler: Das übergeordnete Verzeichnis für die Sperrdatei C: \ Users \ Kaveesh \ .gradle \ wrapper \ dists \ gradle-4.1-all \ bzyivzo6n839fup2jbap0tjew \ gradle-4.1-all.zip.lck
Kaveesh Kanwal wurde

Es zeigt das Problem mit der Sperre. Android Studio kann das Verzeichnis nicht erstellen.
Naveed Ahmad

5

Ich habe das Problem durch Ändern der DistributionUrl im folgenden Code in der Datei gradle-wrapper.properties behoben

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

2

Fügen Sie diese einmal mit Top Level Gradle hinzu

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

buildscript {

    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha9'

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

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

1

Wir haben zwei Möglichkeiten, damit umzugehen.

  1. Sie können die Version Ihres Gradles von der ersten Version auf die Version 3.5 aktualisieren.

  2. Oder Sie können Ihren Gradle-Wrapper auf die Version 4.1 einstellen.

Alle Möglichkeiten sind beide nützlich.



0
  1. Öffnen Sie gradle-wrapper.properties
  2. Ersetzen:

    DistributionUrl = https: //services.gradle.org/distributions/gradle-3.3-all.zip

Mit:

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
  1. Jetzt Projekt synchronisieren

Klicken Sie hier, um mehr zu verstehen


0

Fügen Sie diesen Code in die Datei gradle-wrapper.properties ein und er funktioniert mit Ihnen

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.