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:
Bei beschädigten Gradle-Prozessen können Sie auch versuchen, die IDE zu schließen und anschließend alle Java-Prozesse zu beenden.
- 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.
Ich habe Google gesucht und einige Lösungen wie this one gefunden, aber nichts funktioniert. Weiß jemand, wie man es reparieren kann?
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()
}
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
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 :)
Okay, ich habe es funktioniert. Für jeden, der mit dem gleichen Problem konfrontiert ist, funktionierte es für mich wie folgt:
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.
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
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.
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'
}
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'
}
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