J'ai récemment mis à jour la version de mon projet de la version 2.14.1 à la version 3.0. Depuis lors, la construction de gradle é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:
Dans le cas de processus Gradle corrompus, vous pouvez également essayer de fermer le IDE, puis de supprimer tous les processus Java.
- Le cache de dépendance de Gradle peut être corrompu (cela se produit parfois après un délai de connexion réseau.) Re-télécharger les dépendances et le projet de synchronisation (réseau requis)
- L'état d'un processus de génération Gradle (démon) est peut-être corrompu. Arrêter tous les démons Gradle peut résoudre ce problème . Arrêter les processus de construction Gradle (nécessite un redémarrage)
- Votre projet utilise peut-être un plug-in tiers incompatible avec les autres plug-ins du projet ou la version de Gradle demandée par le projet.
J'ai cherché sur Google et trouvé des solutions comme this one mais rien ne fonctionne. Est-ce que quelqu'un sait comment résoudre ce problème?
Mettez à niveau vos outils de génération de versions à la dernière version.
Une façon simple de faire cela consiste à ajouter 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 gradle tasks
et gradle téléchargera tout ce dont vous avez besoin.
Après la version stable d'Android Studio 2.2 publiée le 19 septembre 2016, la dernière version des outils de génération est la 2.2.0. Donc, vous pouvez le réparer en:
dependencies {
classpath 'com.Android.tools.build:gradle:2.2.0'
}
Android Studio 2.4 stable n'étant pas encore prêt à être publié (4 mai 2017), la dernière version stable des outils de génération est la 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 2.3. *, Vous devez également mettre à jour la version de wrapper Gradle vers 3.3 dans le fichier /yourProjectRoot/gradle/wrapper/gradle-wrapper.properties. (Je sais que cela 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 MavenCentral, donc si vous rencontrez l'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
il suffit de remplacer mavenCentral () par jcenter () comme
repositories {
jcenter()
//mavenCentral()
}
Pour la dernière mise à jour d'Android Studio 3.0
Dans gradle-wrapper.properties
(Nom du fichier), remplacez l'URL de distributionUrl
par la suivante:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip
Si vous utilisez le plugin Gradle 2.1.3, .__, il est simple à résoudre:
mettre à jour votre plugin Gradle vers la version 2.2.0-beta1
Notes: ceci est une version beta, peut-être que vous pouvez avoir d'autres problèmes.
https://discuss.gradle.org/t/classcastexception-in-gradle-nightly-3-0-20160609/17979
Bonne codage :)
Ok je l'ai fait travailler. Pour ceux qui font face au même problème, voici comment cela a fonctionné:
MODIFIER:
Il s'avère que cette solution remettait la version de gradle à 2.14.1. La solution de ending0421 est celle qui fonctionne.
si votre version est: 3.0.1, utilisez le code ci-dessous dans votre fichier gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip
.
si 3.1.2, utilisez le code ci-dessous dans votre fichier 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
Étape 4: enfin allez construire> reconstruire le projet ...
Vous avez toujours un problème avec la validation ou la boîte de réception moi-même ....
...... Fin @Ambilpura
Supprimez simplement tout ce qui se trouve dans le dossier Gradle du dossier principal du projet et reconstruisez le projet Cela va commencer à fonctionner.
Pour la dernière mise à jour de Android Studio 3.3.1 code ci-dessous fonctionne.
1) gradle-wrapper.properties ajouter en dessous de la ligne.
distributionUrl = https: //services.gradle.org/distributions/gradle-4.6-all.Zip
2) build.gradle in niveau du projet add under classpath
dépendances { chemin de classe 'com.Android.tools.build:gradle:3.1.0'
}
réponse simple essayez ceci ...
goto build.gradle (PROJECT) et vérifiez la version de gradle comme indiqué ci-dessous
'com.Android.tools.build:gradle:2.1.3' ou 3.0 ou 3.1 ou xx.xx
maintenant ouvert gradle-wrapper.properties voir cette ligne de code si la version de gradle est 2.x le code ci-dessous ...
distributionUrl = https: //services.gradle.org/distributions/gradle-2.14.1-all.Zip
gradle-2.14.1-all.Zip La ligne de code doit être identique à la version de Gradle
exemple:
exemple: mien est 2.x donc ... chemin de classe 'com.Android.tools.build:gradle:2.1.3' dans build.gradle donc
distributionUrl = https: //services.gradle.org/distributions/gradle-2.14.1-all.Zipin gradle-wrapper.properties.
si gradle version est 3.x, alors classpath 'com.Android.tools.build:gradle3.1.0' dans build.gradle alors
distributionUrl = https: //services.gradle.org/distributions/gradle-3.14.1-all.Zipin gradle-wrapper.properties.
vérifiez que cela fonctionnera
si Android Studio Android Studio 3.0 ci-dessous fonctionne.
gradle-wrapper.properties ajoute en dessous de la ligne.
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip
si Android Studio Android Studio 3.1.2 ci-dessous le code fonctionne.
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip
si Android Studio 3.3.1 ci-dessous le code fonctionne.
1) gradle-wrapper.properties ajoute en dessous de la ligne.
distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.Zip
2) build.gradle au niveau du projet ajouter ci-dessous
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.0'
}
Si votre gradle plugin 3.0.0 pour la version studio 3.0, ajoutez ceci dans gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip