2016-08-19 18 views
55

Niedawno zaktualizowałem wersję gradle mojego projektu z wersji 2.14.1 do wersji 3.0. Odtąd Gradle build zawodzi za każdym razem z tym błędem:Błąd kompilacji Gradle po aktualizacji do wersji 3.0

Error:Cause: org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection Possible causes for this unexpected error include:

  • Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires network)
  • The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem. Stop Gradle build processes (requires restart)
  • Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.
In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

Przeszukałem google i znalazłem kilka rozwiązań takich jak this jednym, ale nic nie działa. Czy ktoś wie jak to naprawić?

+0

Z której wersji wtyczki korzystasz? –

+0

im using 2.1.3. –

+1

Najnowsza stabilna wtyczka gradle (** 2.1.3 **) działa z [Gradle 2.14.1 lub nowszym] [1], ale nie obsługuje Gradle 3.x. [1]: https://developer.android.com/studio/releases/gradle-plugin.html –

Odpowiedz

70

uaktualnić swoje Gradle budować narzędzia do najnowszej wersji.

Prostym sposobem na to jest dodanie najnowszą wersję narzędzia kompilacji jako zależność w pliku build.gradle, na przykład:

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

Następnie można uruchomić gradle tasks i Gradle pobierze wszystko co potrzeba .

Po stabilnej wersji Androida Studio 2.2 z 19 września 2016 r. Najnowsza wersja narzędzi do kompilacji to 2.2.0. Więc można naprawić poprzez:

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

Jako stabilny Android Studio 2.4 nie jest jeszcze gotowy do uwolnienia (04 maja 2017), najnowsza stabilna wersja narzędzia kompilacji 2.3.1.

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

przypadku aktualizacji tej wersji narzędzia do budowania 2.3. *, Należy również zaktualizować Gradle wersję otoki do 3,3 w pliku /yourProjectRoot/gradle/wrapper/gradle-wrapper.properties. (Wiem, że to nie pasuje do pytania Gradle build failing after update to 3.0, ale zdecydowanie sugeruję, aby użyć najnowszego narzędzia do budowania, jak zaleca google)

Przy okazji: wersja 2.3.1 budowy narzędzia jest istnieć tylko na jCenter, nie MavenCentral, więc jeśli napotkasz błąd poniżej podczas uruchamiania gradlew wiersza poleceń w terminalu

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 

prostu zastąpić mavenCentral() z jcenter() jak

repositories { 
    jcenter() 
    //mavenCentral() 
} 
4

OK, mam to działa. Dla każdego, kto boryka się z tym samym problemem, tak jak dla mnie działa to:

  1. Przejdź do zewnętrznego folderu .gradle (dla mnie był to C: \ Users \ drilon.gradle). Wewnątrz pamięci podręcznej i folderu demona usuń wszystkie foldery wersji (wyglądają jak "2.14.1" lub "3.0"). Idź do wrappera -> dists -> usuń wszystko.
  2. Wewnątrz głównego katalogu projektu (dla mnie był to C: \ Users \ drilon \ AndroidStudioProjects \ PorjectName) przejdź do folderu .gradle i usuń wszystko.
  3. Odbuduj projekt

EDIT:
Okazuje się, że takie rozwiązanie było ustawienie wersję Gradle powrotem do 2.14.1. Rozwiązanie ending0421 jest działające.

+0

To nie działa dla mnie. Musiałem skorzystać z rozwiązania dostarczonego przez LinuxArtisan. (uaktualnienie do com.android.tools.build:gradle:2.2.0-beta1) – cbeaudin

+0

Żaden z nich nie zadziałał. –

8

Jeśli używasz Gradle plugin 2.1.3, To proste rozwiązanie:

update your gradle plugin to version 2.2.0-beta1

Uwagi: jest to wersja beta, może masz jakieś inne problemy.

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

Szczęśliwy kodowania :)

+4

Zaraz się zabiję. Dziękuję ci za uratowanie mi życia. –

+0

co, jeśli używasz 2.3.1? – behelit

+0

nvm -> classpath 'com.android.tools.build:gradle:3.0.0-alpha5' – behelit

4

Na najnowszej aktualizacji Android Studio 3.0

W gradle-wrapper.properties (nazwa pliku) zmiana adresu URL distributionUrl na następujące kwestie:

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

+1

To działało dla mnie. Dzięki. –

Powiązane problemy