Android Studio: où est la fenêtre de sortie d'erreur du compilateur?

310

Lorsque je «lance» mon projet dans Android Studio, dans la fenêtre «Messages», j'obtiens:

Gradle: 
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':play01:compileDebug'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Il dit > Compilation failed; see the compiler error output for details. alors où est la "sortie d'erreur du compilateur"? Et / ou comment exécuter l' --stacktraceoption?

Poursuivre le soleil
la source
2
J'exécute Android Studio 1.3.2 et aucune des solutions ne fonctionne.
Milan Babuškov
6
sucki android studio exige que de telles questions idiotes soient votées .. :)
Siddharth
c'est peut-être l'idée d'IDEA de cacher idéalement les erreurs (SCNR)
bebbo
J'ai également le même problème lorsque je mets à jour le plugin. J'utilise Android Studio 3.4 Canary 6
Saurabh Gaddelpalliwar
J'ai également fait face à ce problème. Dans mon cas, le problème réside dans les données de classe d'entité. Si vos membres de données sont privés, ils doivent créer des méthodes getter et setter. En raison de cette méthode, d'autres problèmes de liaison sont à venir.
Sumit Kumar

Réponses:

63

Cette réponse est dépassée. Pour Android 3.1 Studio, allez à cette réponse

Une chose que vous pouvez faire est de désactiver la version externe. Pour ce faire, cliquez sur «icône des paramètres du compilateur» dans le panneau «Messages Make» qui apparaît lorsque vous avez une erreur. Vous pouvez également ouvrir les paramètres du compilateur en allant dans Fichier -> Paramètres -> Compilateur. (Merci à @maxgalbu pour cette astuce).

entrez la description de l'image ici

Décochez "Utiliser la génération externe"

entrez la description de l'image ici

Et vous verrez les erreurs dans la console

EDIT: Après être revenu à "build interne" à nouveau, vous pouvez obtenir des erreurs, vous pouvez les résoudre de cette façon: Android Studio: désactiver "build externe" pour afficher la sortie d'erreur créer des erreurs de classe en double

Jorge Fuentes González
la source
Si vous décochez la case "Utiliser la génération externe", deux erreurs se produisent lorsque j'essaie de créer mon projet: error: duplicate class: com.moberg.colorgame.BuildConfigeterror: duplicate class: com.moberg.colorgame.R
Moberg
3
@Moberg Même problème ici, j'ai commencé une nouvelle question: stackoverflow.com/questions/17108393/…
Waza_Be
Ok, je vais voir ce qui se passe et répondre à la nouvelle question si je trouve quelque chose.
Jorge Fuentes González
7
Je n'ai pas ce panneau "messages faire" ... wtf?
maxgalbu
9
Je ne vois pas ces options maintenant. J'utilise Android Studio 1.2.1.1
Andrew S
563

Pour Android Studio 3.1, sélectionnez l'icône sous celle de génération dans la fenêtre de génération.

Bouton de basculement du journal brut d'Android Studio 3.1

Dans Android Studio 3.3 (peut-être dans 3.2.1), l'icône a changé, bien que l'emplacement soit le même:

Bouton de basculement du journal brut d'Android Studio 3.3

La fenêtre de génération doit s'ouvrir lorsque vous exécutez une action de génération (par exemple à partir du menu Générer). Si vous ne le voyez pas, vous pouvez essayer le bouton "Build" en bas de la fenêtre (également visible dans les captures d'écran ci-dessus), ou via les menus View → Tool Windows → Build.

eau bouillante
la source
Ravi de voir que tant de gens ont voté pour cette réponse, et Android Studio 3.1 est toujours en version bêta 3. :-)
Ove Stoerholt
16
Quelle icône est-ce que je n'arrive pas à le trouver, ni à trouver une fenêtre de construction
Sam
7
C'est triste que j'ai dû google et fouiller dans stackoverflow pour savoir comment voir la sortie du compilateur. Merci @boiledwater
spartygw
1
@shikharbansal au cas où le lien d'image se briserait à nouveau, l'icône se trouve sur le bord gauche de la fenêtre de construction. Cela ressemble à une vue de liste séparée de "ab" par une barre oblique.
Max
4
L'IDE d'Android dit simplement "basculer la vue" .. basculer la vue de quoi? +1 pour cette réponse. Google fait toujours de son mieux pour obscurcir le flux de travail des développeurs
angryITguy
39

C'est vraiment simple à mettre en place! Accédez simplement aux paramètres du compilateur dans Android Studio 2.2.3 et définissez la --stacktracecommande:

Paramètres du compilateur pour ajouter la commande --stacktrace

Ensuite, exécutez à nouveau l'application

Antonio
la source
5
Si c'était vraiment simple comme vous le dites, ce fil n'existerait pas.
jungledev
1
@jungledev c'est vraiment simple à mettre en place, mais ce n'est pas trop évident de le savoir :) Changer le libellé de ma réponse pour que ce soit clair
Antonio
1
Dans AS 4.0, j'ai défini ce --stacktrace. Mais où est la sortie? C'était la question d'origine.
Steve White
@SteveWhite dans la sortie de la console lors de la construction.
Antonio
Antonio, la sortie attendue n'est jamais apparue dans la console de build pour moi. J'ai dû exécuter gradlew à la main, comme expliqué ailleurs sur cette page.
Steve White Il y a
32

Êtes-vous sous Windows? Lancez cmd, trouvez votre dossier de projet et exécutez "gradlew build". Cela devrait déjà vous donner plus de sortie que l'IDE, vous pouvez également y utiliser --info, --stacktrace et --debug.

Hadi Kocabas
la source
10
belle! Maintenant, si seulement cette sortie pouvait être intégrée dans le Studio Android
ChaseTheSun
4
Mes pensées exactement. Un IDE sans fenêtre pour les erreurs de compilation? Je parie que nous manquons quelque chose, mais cette solution de contournement devrait être suffisante jusqu'à ce que cela soit résolu.
Hadi Kocabas
4
"Êtes-vous sur Windows?" - Cela fonctionne également sous Ubuntu Linux aussi! Merci! /[folder-where-you-installed-the-android-studio]/sdk/tools/templates/gradle/wrapper/gradlew build
geekQ
Je suis en train de migrer un énorme projet d'Eclipse vers Android Studio. Le meilleur conseil jusqu'à présent: faites d'abord fonctionner la construction de gradle en ligne de commande, puis préoccupez-vous du nouvel IDE.
Jerry Brady
18

Vous pouvez également voir l'erreur dans la fenêtre Build en cliquant sur le bouton bascule.

entrez la description de l'image ici

l'amour en direct
la source
15

Dans mon cas, je préfère ouvrir la fenêtre Terminal en bas à gauche et exécuter gradlew build --info:

entrez la description de l'image ici

RominaV
la source
5
@Pamblam Use ./gradlew
Rhys
1
C'est la seule réponse que j'ai trouvée sur cette page qui fonctionne dans AS 4.0
Steve White
9

Dans Android Studio 2.2.3, vous pouvez trouver la sortie dans la console Gradle comme indiqué ci-dessous console gradle

cahit beyaz
la source
1
Dans AS 4.0, où est cette console Gradle?
Steve White
6

Je m'appuie sur ce que Jorge a recommandé. Aller à Fichier-> Paramètres-> compilateur.

Ici, vous verrez un champ pour ajouter des options de compilation où vous vous connectez --stacktrace

I have
la source
J'ai essayé cela dans AS 4.0. Je ne sais pas si je devais rechercher les résultats qu'il aurait pu produire.
Steve White
2

Courir

gradlew --stacktrace 

dans un terminal pour voir le rapport complet

pour moi c'était

Tâche: application: compileDebugJavaWithJavac FAILED javacTask: la version source 1.8 nécessite la version cible 1.8

alors j'ai ajouté

 compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

dans le fichier app.gradle / android et la construction s'est terminée avec succès

Falah H. Abbas
la source
Quand je fais cela dans un terminal (dans le dossier du projet), il dit BUILD SUCCESSFUL Mais quand je construis avec Build -> Make Project, je vois le même avis qu'il y a eu des erreurs de compilation.
Steve White
1

Dans mon cas, j'avais une référence findViewById à une vue que j'avais supprimée en xml

si vous utilisez AS 3.1 et supérieur:

  1. allez dans Paramètres> Build, Execution and Deployment> compilateur
  2. ajoutez --stacktrace aux options de la ligne de commande, cliquez sur appliquer et ok
  3. En bas de AS, cliquez sur Console / Build (si vous utilisez la version stable 3.1.2 et supérieure) développez le panneau et exécutez à nouveau votre application.

vous devriez voir la trace de pile complète dans la vue développée et l'erreur spécifique.

Peterstev Uremgba
la source
C'est AS 4.0. Il échoue toujours de la même manière. Pas de trace de pile.
Steve White
Avez-vous ajouté les indicateurs --stacktrack --debug --info?
Peterstev Uremgba
Sûr. Mais ce n'était pas le problème. Le problème (près que je sache), il n'y a plus de fenêtre où la trace de la pile apparaît. Cependant, il est possible d'exécuter gradlew à la main dans un terminal pour obtenir les informations. Dans un autre commentaire sur cette page, j'ai dit quelle méthode fonctionnait.
Steve White
0

Si vous êtes dans Android Studio 3.1, vérifiez si le fichier-> Structure du projet -> La compatibilité avec la source est vide. il ne devrait pas y avoir 1,8 jeu.

puis appuyez sur ok, le projet se synchronisera et l'erreur disparaîtra.

Logesh R
la source
La question n'était pas de savoir comment faire disparaître l'erreur. La question était de savoir comment voir les messages d'erreur.
Steve White
0

après la conversion android en androidx.

changer le problème de la bibliothèque d'importation sera résolu. Comme ça:

import androidx.appcompat.widget.Toolbar;  <<  like this

import androidx.annotation.NonNull; << comme ça

import androidx.appcompat.app.ActionBarDrawerToggle; << comme ça

import androidx.drawerlayout.widget.DrawerLayout; << comme ça

import androidx.recyclerview.widget.RecyclerView; << comme ça

import androidx.appcompat.app.AppCompatActivity; << comme ça

AhmadUllah Ahmad
la source
Cela ne répond pas à la question de l'OP: comment voir les erreurs de compilation.
Steve White
-2

J'ai résolu cette erreur "La compilation n'a pas pu voir la sortie d'erreur du compilateur pour plus de détails"

La solution est très simple: ajoutez un Gradle sous une ligne de code

implémentation 'com.google.android.gms: play-services-ads: 15.0.0'

Shah Hussain
la source
Où exactement la ligne de code est-elle censée être ajoutée? Pourriez-vous reformuler?
harmonica141
Cela ne répond pas à la question d'origine: comment voir les messages d'erreur du compilateur.
Steve White