La construction d’Android Studio échoue avec «Tâche» introuvable dans le projet racine «MyProject».

J’ai cette erreur en essayant de construire mon projet après avoir changé d’ordinateur portable et mis à jour vers Android Studio version 0.8.2.

FAILURE: La construction a échoué avec une exception.

ÉCHEC DE CONSTRUCTION

Voici mes fichiers Gradle:

Top Level settings.gradle

include ':MyProject' 

build.gradle dans MyProject:

 apply plugin: 'com.android.application' buildscript { repositories { mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:0.12.+" } } repositories { mavenCentral() } android { comstackSdkVersion 20 buildToolsVersion "20" defaultConfig { minSdkVersion 14 targetSdkVersion 20 } } dependencies { comstack 'de.timroes.android:EnhancedListView:0.3.0@aar' comstack 'com.nineoldandroids:library:2.4.0' } 

Le build.gradle de niveau supérieur est vide

Bien que la réponse soit tardive, il s’agit d’un point difficile pour Google (les guillemets simples) et il n’est pas clair ce qui se passe. Je n’ai pas encore la réputation de commenter ou de demander la scope (ou poster 3 liens), alors cette réponse peut être un peu fastidieuse.

Pour répondre rapidement, vous pouvez avoir plusieurs plug-ins Gradle dans votre projet.

Synchroniser Gradle Wrapper et Plugins

Mon problème semblait commencer par un fichier IML corrompu. Android Studio (entre la fermeture et la réouverture d’un projet) a commencé à se plaindre de la disparition de l’IML (ce n’était pas le cas) et un module devait être supprimé, ce que j’ai refusé. Il a persisté, je suis passé à AS 0.8.7 (canari channel) et je suis resté bloqué sur le problème OP (Task ” introuvable dans le projet root). Cela a complètement bloqué les constructions, alors j’ai dû creuser pour Gradle.

Mes étapes de réparation sur OSX (veuillez ajuster pour Windows):

  1. Mettre à niveau Android Studio vers 0.8.7
    • Préférences | Mises à jour | Basculer “Beta Channel” sur “Canary Channel”, puis faire un Check Now.
    • Vous pourriez peut-être sauter ceci.
  2. Vérifié le wrapper Gradle (actuellement 1.12.2; n’essayez pas d’utiliser la version 2.0 pour le moment).

    • En supposant que vous n’avez pas besoin d’une version particulière, utilisez la dernière dissortingbution prise en charge

      $ vi ~/project/gradle-wrapper.properties ... dissortingbutionUrl=http\://services.gradle.org/dissortingbutions/gradle-1.12-all.zip

    • Cela peut être défini dans Android Studio à Préférences | Gradle (mais 0.8.7 me donnait des erreurs de localisation non valides).

    • Le «wrapper» n’est qu’une copie de Gradle pour chaque projet Android Studio. Il vous permet d’avoir Gradle 2 dans votre système d’exploitation et différentes versions dans vos projets. Le développeur Android explique cela ici .
    • Ajustez ensuite vos fichiers build.gradle pour le plugin . La version du plugin Gradle doit être compatible avec la version dissortingbution / wrapper, pour l’ensemble du projet. Comme la documentation des outils (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) est légèrement obsolète, vous pouvez définir la version du plug-in trop faible (comme la version 0.8.0) et Android Studio émettra une erreur avec la plage acceptable pour le wrapper.

Exemple, dans build.gradle, vous avez ce plugin:

 dependencies { classpath "com.android.tools.build:gradle:0.12.+" } 

Vous pouvez essayer de passer à la version exacte, comme ceci:

 dependencies { classpath "com.android.tools.build:gradle:0.12.2" } 

et (après avoir enregistré la version que vous modifiez dans chaque cas), vérifiez que chaque fichier build.gradle de votre projet contient la même version de plug-in. Garder le «+» devrait fonctionner (pour 0.12.0, 0.12.1, 0.12.2, etc.) mais ma construction a réussi lorsque j’ai mis à jour la bibliothèque Volley de Google (à l’origine: 0.8. +) Et mon projet principal (à l’origine 0.12. +) à la version fixe: gradle: 0.12.2.

Autres chèques

  1. Assurez-vous de ne pas avoir deux modules d’application Android dans le même projet

    • Cela peut interagir avec la solution finale (différentes versions de Gradle, ci-dessus) et provoquer

      UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)

    • Pour vérifier, construire | Make Project ne doit pas afficher une fenêtre vous demandant quelle application vous souhaitez créer.

  2. Invalider vos caches
    • Fichier | Invalidate Caches / Restart (stackoverflow.com/a/19223269/513413)
  3. Si l’étape 2 ne fonctionne pas, supprimez ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/)
    • Quittez Android Studio
    • $ rm -rf ~ / .gradle /
    • Démarrez Android Studio, puis synchronisez:
      • Outils | Android | Projet de synchronisation avec les fichiers Gradle
    • Répétez cette séquence entière (quitter … synchroniser) plusieurs fois avant d’abandonner.
  4. Nettoyer le projet
    • Construire | Projet propre

Si vous voyez cela …

Dans mes versions récentes, j’ai continué à voir des échecs horribles (pages d’exceptions), mais en quelques secondes, les messages disparaissaient, la génération réussissait et l’application était déployée. Comme je ne pouvais jamais l’expliquer et que l’application fonctionnait, je n’ai jamais remarqué que j’avais deux plugins Gradle dans mon projet. Je pense donc que les plugins Gradle se sont affrontés. l’un s’est écrasé, l’autre a perdu son état et a signalé l’erreur.

Si vous avez le temps, la vidéo d’une heure “Une introduction en douceur à Gradle” (www.youtube.com/watch?v=OFUEb7pLLXw) m’a vraiment aidé à aborder les fichiers de construction, les tâches, les décisions de construction, etc. de Gradle.

Avertissement

J’apprends toute cette stack, sur un OS étranger, après avoir travaillé dans une carrière différente … tout à la fois et sous pression. Au cours des derniers mois, j’ai touché tous les murs, je pense, Android; Je suis venu ici assez souvent et c’est mon premier post. Je pensais que c’était une solution difficile, alors je m’excuse sincèrement si la qualité de ma réponse reflète la difficulté que j’ai eu à y arriver.

Téléchargez l’image système (du niveau android ciblé de votre projet) de sdk manager pour le projet que vous avez importé.

Cette erreur survient lorsque vous n’avez pas installé le SDK cible de votre projet Android dans le dossier sdk

pour par exemple. Le niveau de sdk cible de votre projet importé peut être Android-19 et, sur le dossier sdk-> images-système, android-21 peut être installé. de sorte que vous devez télécharger l’image système android-19 et d’autres fichiers de sdk manager ou vous pouvez copier coller si vous avez l’image du système.

Retirer:

    

dans votre fichier iml. Ça marche pour moi.

https://plus.google.com/+AlexRuiz/posts/49hP3V9GSGe

Cela m’est arrivé récemment lorsque j’ai fermé un projet Android Studio et importé un autre projet Eclipse. Il semblait y avoir un bug dans Android Studio où il conservait certains parameters de gradation d’un projet précédemment ouvert, puis se retrouvait confus dans le nouveau projet.

La solution était extrêmement simple: fermez le projet et fermez complètement Android Studio avant de le rouvrir, puis importez / ouvrez le nouveau projet. Tout se passe bien à partir de là.

La solution simple pour moi était

  1. Build> Projet propre
  2. Redémarrez Android Studio

Apparemment, cette erreur a de multiples causes. Voici ce qui a été corrigé pour moi.

J’exécutais la commande de compilation comme ceci:

 ./gradlew :testapp: build 

L’exécuter sans l’espace a résolu le problème:

 ./gradlew :testapp:build 

Dans mon cas, définir la version de Gradle comme la version du plugin Android sous Fichier-> Structure du projet-> Projet a résolu le problème pour moi.

Parfois, si vous avez ouvert deux fenêtres d’Android Studio et que vous essayez de comstackr, ce problème peut se produire. Pour moi, lorsque je compilais un module Google Cloud Endpoint sauvegardé qui n’était pas incorporé dans un projet, plutôt partagé entre différents projets Android Studio, et lorsqu’il y a plus d’une instance ouverte, cette erreur me vient à l’esprit. Mais dès que vous fermez d’autres fenêtres, tout ira bien. Parfois, vous devrez peut-être redémarrer Android Studio.

Assurez-vous d’avoir les dernières valeurs dans vos fichiers de graduation. Au moment d’écrire ces lignes:

  • buildToolsVersion "21.1.2"

  • dépendances {classpath ‘com.android.tools.build:gradle:1.1.0’}

Encore une autre solution au même problème:

Cela m’est arrivé chaque fois que j’ai importé un projet eclipse en studio à l’aide de l’assistant (version studio 1.3.2).

Ce que j’ai trouvé, tout à fait par hasard, était que quitter le studio Android et redémarrer le studio à nouveau a fait disparaître le problème.

Frustrant, mais j’espère que cela aide quelqu’un …

J’ai eu cette erreur en passant d’une twig Git à une autre, puis en essayant de lancer “Clean Project”. J’ai utilisé ack pour rechercher le nom de la tâche et l’ai trouvé dans un fichier .iml.

Ma solution consistait à régénérer le fichier .iml du projet en cliquant sur (dans le menu principal) Outils> Android> Synchroniser le projet avec les fichiers Gradle. ( Merci à cette réponse .)

Problème

J’ai eu spécifiquement la "[module_name]:prepareDebugUnitTestDependencies" task not found erreur "[module_name]:prepareDebugUnitTestDependencies" task not found , chaque fois que j’ai exécuté gradle build. Cela m’est arrivé après la mise à jour de mon Android Studio vers la version 3.0.0.

Enquête

J’avais déjà ajouté des options de ligne de commande au compilateur basé sur gradle, que vous pouvez trouver sous: Fichier -> Paramètres -> Créer, exécuter, déployer -> Compilateur -> Options de ligne de commande . Plus précisément, j’avais exclu un certain nombre de tâches, y compris la tâche susmentionnée. Bien que cela ait bien fonctionné sur la version stable précédente (2.3 à ce moment-là), il semble que ce soit la raison de l’échec de la construction.

Solution

C’est l’une des nombreuses solutions possibles. Assurez-vous de disposer des options de ligne de commande correctes spécifiées dans les parameters sous: Fichier -> Paramètres -> Générer, exécuter, déployer -> Compilateur -> Options de ligne de commande , et qu’aucun ne provoque ce problème.

Dans mon cas, j’ai supprimé l’exclusion de cette tâche (et d’autres tâches qui semblaient liées), laissé les tâches non liées exclues et cela a fonctionné!

Définissez le chemin du dossier racine et exécutez la commande ci-dessous

 ex : cd C:\Users\maha\Documents\gradle\gs-gradle-master\initial 

C’est ce que j’ai fait

  1. Supprimer le dossier .idea

    $ mv .idea .idea.bak

  2. Importer le projet à nouveau

Je supprime / renommer le dossier .gradle dans c:\users\Myuser\.gradle et redémarre Android Studio et travaille pour moi

  1. Ouvrir l’invite de commande
  2. puis accédez à votre dossier de projet par l’invite de commande
  3. Tapez gradlew build and run

Apparemment, ce problème causé par Android Studio sur les différentes situations, mais la raison en est une erreur de construction lors de l’importation d’un projet existant dans Android Studio.

Dans mon cas, j’ai importé mon projet existant où je devais installer quelques outils de compilation, puis finalement la configuration de la construction a été faite avec une erreur. Dans ce cas, il suffit de faire les choses suivantes

  1. Fermer le projet en cours
  2. Fichier> Nouveau> Projet d’importation (n’utilisez pas le projet récent ouvert)

    Remarque: Je suis sûr que ce type d’erreur ne figure pas dans le code source lorsque cela se produit dans le projet d’importation .