it-swarm.com.de

Gradle-Build schlägt nach Update auf 3.0 fehl

Ich habe kürzlich die Gradle-Version meines Projekts von 2.14.1 auf 3.0 aktualisiert. Seitdem schlägt der Gradle-Build jedes Mal mit diesem Fehler fehl: 

Fehler: Ursache: org.gradle.api.internal.tasks.DefaultTaskInputs $ TaskInputUnionFileCollection kann nicht in org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection .__ umgewandelt werden. Mögliche Ursachen für diesen unerwarteten Fehler sind:

  • Der Abhängigkeits-Cache von Gradle ist möglicherweise beschädigt (dies tritt manchmal nach einem Timeout der Netzwerkverbindung auf.) Abhängigkeiten erneut herunterladen und Projekt synchronisieren (erfordert Netzwerk)
  • Der Status eines Gradle-Build-Prozesses (Daemon) ist möglicherweise beschädigt. Durch das Stoppen aller Gradle-Daemons kann dieses Problem gelöst werden. Gradle-Build-Prozesse stoppen (Neustart erforderlich)
  • Ihr Projekt verwendet möglicherweise ein Plugin eines Drittanbieters, das nicht mit den anderen Plugins im Projekt oder der vom Projekt gewünschten Version von Gradle kompatibel ist.
Bei beschädigten Gradle-Prozessen können Sie auch versuchen, die IDE zu schließen und anschließend alle Java-Prozesse zu beenden. 

Ich habe Google gesucht und einige Lösungen wie this one gefunden, aber nichts funktioniert. Weiß jemand, wie man es reparieren kann?

66
Drilon Blakqori

Aktualisieren Sie Ihre Gradle Build-Tools auf die neueste Version.

Eine einfache Möglichkeit, dies zu tun, ist das Hinzufügen der neuesten Version der Build-Tools als Abhängigkeit in Ihre build.gradle-Datei. Beispiel:

dependencies {
    classpath 'com.Android.tools.build:gradle:2.2.0-beta1'
}

Sie können dann gradle tasks ausführen und gradle lädt alles herunter, was Sie benötigen.

Nach der Veröffentlichung von Android Studio 2.2 stabil am 19. September 2016 ist die neueste Version der Build-Tools 2.2.0. So können Sie es beheben durch:

dependencies {
    classpath 'com.Android.tools.build:gradle:2.2.0'
}

Da Android Studio 2.4 stable noch nicht veröffentlicht werden kann (4. Mai 2017), ist die neueste stabile Version der Build-Tools 2.3.1.

dependencies {
    classpath 'com.Android.tools.build:gradle:2.3.1'
}

Wenn Sie diese Version der Build-Tools auf 2.3. * Aktualisieren, sollten Sie auch die Version des Gradle-Wrappers in der Datei /yourProjectRoot/gradle/wrapper/gradle-wrapper.properties auf Version 3.3 aktualisieren. (Ich weiß, es stimmt nicht mit der Frage Gradle build failing after update to 3.0 überein, aber ich empfehle Ihnen dringend, das neueste Build-Tool als empfohlenes Google-Tool zu verwenden.

Übrigens: Version 2.3.1 des Build-Tools ist nur in jCenter vorhanden, nicht in MavenCentral. Wenn Sie also beim Ausführen der gradlew-Befehlszeile im Terminal einen Fehler erhalten, ist ein Fehler aufgetreten 

Could not find com.Android.tools.build:gradle:2.3.1.
 Searched in the following locations:
     https://repo1.maven.org/maven2/com/Android/tools/build/gradle/2.3.1/gradle-2.3.1.pom
     https://repo1.maven.org/maven2/com/Android/tools/build/gradle/2.3.1/gradle-2.3.1.jar

ersetzen Sie einfach mavenCentral () durch jcenter () wie 

 repositories {
    jcenter()
    //mavenCentral()
}
79
ending0421

Für das neueste Update von Android Studio 3.0

Ändern Sie in gradle-wrapper.properties (Dateiname) die URL von distributionUrl in Folgendes:

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

25
Dhaval Jardosh

Wenn Sie das Gradle Plugin 2.1.3 verwenden, ist es einfach zu lösen:

aktualisieren Sie Ihr Gradle-Plugin auf Version 2.2.0-beta1

Hinweis: Dies ist eine Beta-Version. Möglicherweise können Sie andere Probleme erhalten.

https://discuss.gradle.org/t/classcastexception-in-gradle-nightly-3-0-20160609/17979

Viel Spaß beim Codieren :)

8
Leekwok Hsiang

Okay, ich habe es funktioniert. Für jeden, der mit dem gleichen Problem konfrontiert ist, funktionierte es für mich wie folgt: 

  1. Wechseln Sie zu Ihrem externen .gradle-Ordner (für mich war dies C:\Users\drilon.gradle). Löschen Sie im Zwischenspeicher und im Daemon-Ordner alle Versionsordner (sie sehen wie "2.14.1" oder "3.0" aus). Gehe auch auf Wrapper -> Dists -> lösche dort alles.
  2. Gehen Sie in Ihrem Projektstammverzeichnis (für mich C:\Users\drilon\AndroidStudioProjects\PorjectName) in den Ordner .gradle und löschen Sie dort alles. 
  3. Erstellen Sie das Projekt neu 

BEARBEITEN:
Es stellte sich heraus, dass diese Lösung die Gradle-Version auf 2.14.1 zurückgesetzt hat. Die Lösung von ending0421 ist die Arbeitslösung.

4
Drilon Blakqori

wenn Ihre Gradle-Version: 3.0.1 ist, verwenden Sie den folgenden Code in Ihrer Gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip

wenn 3.1.2, dann verwenden Sie den folgenden Code in Ihrer gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

2
prasad reddy
    After 1 hour R&D Not Solution as worked for me...

    But still i have solution follow this its work 100

    step 1: upgrade your build.gradle(Project:<your project name>)
    Example :  classpath 'com.Android.tools.build:gradle:2.1.3' // old gradle file
               classpath 'com.Android.tools.build:gradle:2.3.1' // upgraded file 

                                OR
               classpath 'com.Android.tools.build:gradle:3.1.0'

    Step 2 : Upgrade compileSdkVersion buildToolsVersion 
    Example : compileSdkVersion 23    buildToolsVersion "23.0.3 // old api's
              compileSdkVersion 25    buildToolsVersion "25.0.2" // upgraded api's

   Step 3:  upgrade gradle-wrapper.properties 
   Example : distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.Zip // old or any version
            distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip // new or any version

Schritt 4: endlich gehe zu build> rebuild project ...

Trotzdem hast du ein Problem mit dem Festschreiben oder dem Posteingang von mir ...

...... Beenden Sie @Ambilpura

Löschen Sie einfach alles in Gradle Ordner im Hauptprojektordner und erstellen Sie das Projekt neu. Es fängt an zu arbeiten.

0
Sapna Panda

Für das neueste Update von Android Studio 3.3.1 unten Code funktioniert.

1) gradle-wrapper.properties unterhalb der Zeile einfügen.

distributionUrl = https: //services.gradle.org/distributions/gradle-4.6-all.Zip

2) build.gradle in Projektebene add unter classpath 

abhängigkeiten { Klassenpfad 'com.Android.tools.build:gradle:3.1.0'

}
0
satyawan hajare

einfache antwort versuchen sie dies ...

gehen Sie zu build.gradle (PROJECT) und überprüfen Sie die Gradle-Version wie unten gezeigt

'com.Android.tools.build:gradle: 2.1.3' oder 3.0 oder 3.1 oder xx.xx

Öffnen Sie jetzt gradle-wrapper.properties diese Codezeile, wenn die Gradle-Version 2.x ist.

distributionUrl = https: //services.gradle.org/distributions/gradle-2.14.1-all.Zip

gradle-2.14.1-all.Zip-Codezeile muss mit der gradle-Version identisch sein 

beispiel:

beispiel: Mein ist 2.x, also ... Klassenpfad 'com.Android.tools.build:gradle: 2.1.3' in build.gradle so 

distributionUrl = https: //services.gradle.org/distributions/gradle-2.14.1-all.Zipin gradle-wrapper.properties.

wenn die Gradle-Version 3.x ist, dann classpath 'com.Android.tools.build:gradle:3.1.0' in build.gradle 

distributionUrl = https: //services.gradle.org/distributions/gradle-3.14.1-all.Zipin gradle-wrapper.properties.

überprüfe das es funktioniert

wenn Android Studio Android Studio 3.0 unterhalb des Codes funktioniert.

gradle-wrapper.properties füge unter der Zeile hinzu.

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

wenn Android Studio Android Studio 3.1.2 unterhalb des Codes funktioniert.

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

wenn Android Studio 3.3.1 unterhalb des Codes funktioniert.

1) gradle-wrapper.properties unterhalb der Zeile hinzufügen.

distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.Zip

2) build.gradle in Projektebene hinzufügen 

 dependencies { 
             classpath 'com.Android.tools.build:gradle:3.1.0'
 }
0
satyawan hajare

Wenn Ihr Gradle-Plugin 3.0.0 für Studio-Version 3.0 ist, fügen Sie dies in Gradle-wrapper.properties hinzu.

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