Echec de la construction de Gradle après la mise à jour vers la version 3.0

J’ai récemment mis à jour la version progressive de mon projet de 2.14.1 à 3.0. Depuis, la construction échoue à chaque fois avec cette erreur:

Erreur: Cause: org.gradle.api.internal.tasks.DefaultTaskInputs $ TaskInputUnionFileCollection ne peut pas être converti en org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection Les causes possibles de cette erreur inattendue sont les suivantes:

  • Le cache de dépendance de Gradle peut être corrompu (cela se produit parfois après un délai de connexion au réseau). Télécharger à nouveau les dépendances et synchroniser le projet (nécessite un réseau)
  • L’état d’un processus de génération Gradle (démon) peut être corrompu. Arrêter tous les démons Gradle peut résoudre ce problème. Arrêter les processus de construction de Gradle (nécessite un redémarrage)
  • Votre projet utilise peut-être un plug-in tiers qui n’est pas compatible avec les autres plug-ins du projet ou la version de Gradle demandée par le projet.

Dans le cas de processus Gradle corrompus, vous pouvez également essayer de fermer l’EDI puis de tuer tous les processus Java.

J’ai cherché sur Google et trouvé des solutions comme celle- ci, mais rien ne fonctionne. Est-ce que quelqu’un sait comment le réparer?

Mettez à niveau vos outils de compilation gradle vers la dernière version.

Une méthode simple consiste à append la dernière version des outils de génération en tant que dépendance dans votre fichier build.gradle , par exemple:

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

Vous pouvez ensuite exécuter des gradle tasks et graduer télécharger tout ce dont vous avez besoin.

Après Android Studio 2.2 stable sorti le 19 septembre 2016, la dernière version des outils de compilation est la version 2.2.0. Vous pouvez donc le résoudre en:

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

Etant donné que la stabilité d’Android Studio 2.4 n’est pas encore prête (4 mai 2017), la dernière version stable des outils de compilation est la version 2.3.1.

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

Si vous mettez à jour cette version des outils de génération vers la version 2.3. *, Vous devez également mettre à jour la version de gradle wrapper vers la version 3.3 dans le fichier /yourProjectRoot/gradle/wrapper/gradle-wrapper.properties. (Je sais qu’il ne correspond pas à la question Gradle build failing after update to 3.0 , mais je vous suggère fortement d’utiliser le dernier outil de compilation recommandé par Google)

BTW: la version 2.3.1 de l’outil de construction n’existe que sur jCenter, pas sur MavenCentral, donc si vous rencontrez une erreur ci-dessous lors de l’exécution de la ligne de commande gradlew dans le terminal

 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 

remplacez simplement mavenCentral () par jcenter () comme

  repositories { jcenter() //mavenCentral() } 

Pour la dernière mise à jour d’Android Studio 3.0

Dans gradle-wrapper.properties (nom de fichier), modifiez l’URL de dissortingbutionUrl comme suit:

dissortingbutionUrl=https\://services.gradle.org/dissortingbutions/gradle-4.1-all.zip

Si vous utilisez gradle plugin 2.1.3, c’est simple à résoudre:

mettre à jour votre plugin gradle vers la version 2.2.0-beta1

Notes: il s’agit d’une version bêta, peut-être que vous pouvez obtenir d’autres problèmes.

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

Heureux codage 🙂

Ok je l’ai fait fonctionner. Pour ceux qui font face au même problème, la façon dont cela a fonctionné pour moi est la suivante:

  1. Allez dans votre dossier externe .gradle (pour moi, c: \ Users \ drilon.gradle). Les caches internes et les dossiers de démons suppriment tous les dossiers de version (ils ressemblent à ceci “2.14.1” ou “3.0”). Allez aussi dans wrapper -> dists -> supprimez tout ce qui existe.
  2. Dans la racine de votre projet (pour moi, c: \ Users \ drilon \ AndroidStudioProjects \ PorjectName), allez dans le dossier .gradle et supprimez tout ce qui se trouve.
  3. Reconstruire le projet

MODIFIER:
Il s’avère que cette solution remettait la version de gradle à 2.14.1. la solution de ending0421 est la solution de travail.

Si votre version de gradle est: 3.0.1, utilisez le code ci-dessous dans votre dissortingbutionUrl=https\://services.gradle.org/dissortingbutions/gradle-4.1-all.zip gradle-wrapper.properties dissortingbutionUrl=https\://services.gradle.org/dissortingbutions/gradle-4.1-all.zip

si 3.1.2, utilisez le code ci-dessous dans votre dissortingbutionUrl=https\://services.gradle.org/dissortingbutions/gradle-4.4-all.zip gradle-wrapper.properties dissortingbutionUrl=https\://services.gradle.org/dissortingbutions/gradle-4.4-all.zip

Supprimez simplement tout ce qui se trouve dans le dossier Gradle du dossier principal du projet et reconstruisez le projet. Il va commencer à travailler.