Android Studio: Wo befindet sich das Compilerfehler-Ausgabefenster?


310

Wenn ich mein Projekt in Android Studio im Fenster "Nachrichten" ausführe, wird Folgendes angezeigt:

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.

Es heißt > Compilation failed; see the compiler error output for details. also, wo ist die "Compiler-Fehlerausgabe"? Und / oder wie laufe ich mit --stacktraceOption?


2
Ich verwende Android Studio 1.3.2 und keine der Lösungen funktioniert.
Milan Babuškov

6
Sucki Android Studio verlangt, dass solche dummen Fragen aufgewertet werden .. :)
Siddharth

Vielleicht ist es die Idee von IDEA, Fehler ideal zu verbergen (SCNR)
bebbo

Ich habe auch das gleiche Problem, wenn ich das Plugin aktualisiere. Ich benutze Android Studio 3.4 Canary 6
Saurabh Gaddelpalliwar

Ich habe mich auch diesem Problem gestellt. In meinem Fall liegt das Problem in Entitätsklassendaten. Wenn Ihre Datenelemente privat sind, müssen sie Getter- und Setter-Methoden erstellen. Aufgrund dieser Methode treten weitere Bindungsprobleme auf.
Sumit Kumar

Antworten:


63

Diese Antwort ist veraltet. Für Android 3.1 Studio gehen Sie zu dieser Antwort

Sie können den externen Build deaktivieren. Klicken Sie dazu im Bereich "Nachrichten erstellen" auf das Symbol "Compiler-Einstellungen", das angezeigt wird, wenn ein Fehler auftritt. Sie können die Compilereinstellungen auch öffnen, indem Sie auf Datei -> Einstellungen -> Compiler klicken. (Danke an @maxgalbu für diesen Tipp).

Geben Sie hier die Bildbeschreibung ein

Deaktivieren Sie "Externen Build verwenden".

Geben Sie hier die Bildbeschreibung ein

Und Sie werden die Fehler in der Konsole sehen

BEARBEITEN: Nachdem Sie wieder zu "Interner Build" zurückgekehrt sind, können einige Fehler auftreten. Sie können diese folgendermaßen beheben: Android Studio: Deaktivieren von "Externer Build" zur Anzeige der Fehlerausgabe, um doppelte Klassenfehler zu erstellen


Das Deaktivieren von "Use External Build" führt zu zwei Fehlern, wenn ich versuche, mein Projekt zu erstellen: error: duplicate class: com.moberg.colorgame.BuildConfigunderror: duplicate class: com.moberg.colorgame.R
Moberg

3
@Moberg Gleiches Problem hier, ich habe eine neue Frage gestartet: stackoverflow.com/questions/17108393/…
Waza_Be

Ok, ich werde sehen, was passiert und in der neuen Frage antworten, wenn ich etwas finde.
Jorge Fuentes González

7
Ich habe nicht das "Nachrichten machen" Panel ... wtf?
Maxgalbu

9
Ich sehe diese Optionen jetzt nicht. Ich verwende Android Studio 1.2.1.1
Andrew S

563

Wählen Sie für Android Studio 3.1 das Symbol unter dem Build-Symbol im Build-Fenster aus.

Umschaltfläche für das Rohprotokoll von Android Studio 3.1

In Android Studio 3.3 (möglicherweise in 3.2.1) hat sich das Symbol geändert, obwohl der Speicherort derselbe ist:

Umschaltfläche für das Rohprotokoll von Android Studio 3.3

Das Build-Fenster sollte sich öffnen, wenn Sie eine Build-Aktion ausführen (z. B. über das Menü Build). Wenn Sie es nicht sehen, können Sie die Schaltfläche "Erstellen" am unteren Rand des Fensters (auch in den obigen Screenshots sichtbar) oder über die Menüs Ansicht → Werkzeugfenster → Erstellen versuchen.


Schön zu sehen, dass so viele für diese Antwort gestimmt haben und Android Studio 3.1 noch in der Beta 3 ist. :-)
Ove Stoerholt

16
Was Symbol ist das, ich kann es nicht finden, noch kann ich ein Build-Fenster finden
Sam

7
Es ist traurig, dass ich googeln und den Stackoverflow durchsuchen musste, um herauszufinden, wie die Compilerausgabe angezeigt wird. Vielen Dank, dass Sie @boiledwater
spartygw

1
@shikharbansal Falls der Bildlink jemals wieder unterbrochen wird, befindet sich das Symbol am linken Rand des Erstellungsfensters. Es sieht aus wie eine Listenansicht, die durch einen Schrägstrich von "ab" getrennt ist.
Max

4
Die IDE von Android sagt einfach "Ansicht umschalten". Ansicht von was umschalten? +1 für diese Antwort. Google tut immer noch sein Bestes, um den Workflow für Entwickler zu verschleiern
AngryITguy

39

Es ist wirklich einfach einzurichten! Gehen Sie einfach zu den Compiler- Einstellungen in Android Studio 2.2.3 und legen Sie den folgenden --stacktraceBefehl fest:

Compilereinstellungen zum Hinzufügen des Befehls --stacktrace

Führen Sie dann die App erneut aus


5
Wenn es wirklich einfach wäre, wie Sie sagen, würde dieser Thread nicht existieren.
Jungledev

1
@jungledev es ist wirklich einfach einzurichten, aber es ist nicht zu offensichtlich, es zu wissen :) Änderung der Formulierung in meiner Antwort, um dies klar zu machen
Antonio

1
In AS 4.0 habe ich diesen --stacktrace gesetzt. Aber wo ist die Ausgabe? Das war die ursprüngliche Frage.
Steve White

@SteveWhite in der Ausgabe der Konsole beim Erstellen.
Antonio vor

32

Bist du unter Windows? Starten Sie cmd, suchen Sie Ihren Projektordner und führen Sie "gradlew build" aus. Dies sollte Ihnen bereits mehr Ausgabe als die IDE geben, Sie können dort auch --info, --stacktrace und --debug verwenden.


10
wunderschönen! Wenn nur diese Ausgabe in das Android Studio integriert werden könnte
ChaseTheSun

4
Genau meine Gedanken. Eine IDE ohne Fenster für Compilerfehler? Ich wette, wir vermissen etwas, aber diese Problemumgehung sollte ausreichen, bis dies behoben ist.
Hadi Kocabas

4
"Bist du unter Windows?" - Dies funktioniert auch unter Ubuntu Linux! Vielen Dank! /[folder-where-you-installed-the-android-studio]/sdk/tools/templates/gradle/wrapper/gradlew build
GeekQ

Ich bin gerade dabei, ein riesiges Projekt von Eclipse auf Android Studio zu migrieren. Der bisher beste Rat: Lassen Sie zuerst den Befehlszeilen-Gradle-Build funktionieren und sorgen Sie sich dann um die neue IDE.
Jerry Brady

18

Sie können den Fehler auch im Build-Fenster anzeigen, indem Sie auf die Umschaltfläche klicken.

Geben Sie hier die Bildbeschreibung ein


15

In meinem Fall ziehe ich es vor, das Terminalfenster unten links zu öffnen und Folgendes auszuführen gradlew build --info:

Geben Sie hier die Bildbeschreibung ein


5
@ Pamblam Use ./gradlew
Rhys

1
Dies ist die einzige Antwort, die ich auf dieser Seite gefunden habe und die in AS 4.0 funktioniert
Steve White

9

In Android Studio 2.2.3 finden Sie die Ausgabe in der Gradle-Konsole wie unten gezeigt Gradle-Konsole


1
Wo befindet sich diese Gradle-Konsole in AS 4.0?
Steve White

6

Ich baue auf dem auf, was Jorge empfohlen hat. Gehen Sie zu Datei-> Einstellungen-> Compiler.

Hier sehen Sie ein Feld zum Hinzufügen von Compileroptionen, in das Sie --stacktrace einfügen


Ich habe dies in AS 4.0 versucht. Ich weiß nicht, ob ich nach einer Ausgabe suchen soll, die sie möglicherweise erzeugt hat.
Steve White

2

Lauf

gradlew --stacktrace 

in einem Terminal, um den vollständigen Bericht zu sehen

für mich war es

Aufgabe: app: compileDebugJavaWithJavac FAILED javacTask: Quellversion 1.8 erfordert Zielversion 1.8

Also habe ich hinzugefügt

 compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

in app.gradle Datei / Android und der Build erfolgreich abgeschlossen


Wenn ich dies in einem Terminal (innerhalb des Projektordners) mache, wird BUILD SUCCESSFUL angezeigt. Wenn ich jedoch mit Build -> Make Project baue, wird der gleiche Hinweis angezeigt, dass Kompilierungsfehler aufgetreten sind.
Steve White

1

In meinem Fall hatte ich einen findViewById-Verweis auf eine Ansicht, die ich in XML gelöscht hatte

Wenn Sie AS 3.1 und höher ausführen:

  1. Gehen Sie zu Einstellungen> Erstellen, Ausführen und Bereitstellen> Compiler
  2. Fügen Sie --stacktrace zu den Befehlszeilenoptionen hinzu, klicken Sie auf Übernehmen und dann auf OK
  3. Klicken Sie unten in AS auf Konsole / Build (wenn Sie die stabile Version 3.1.2 und höher verwenden), erweitern Sie das Bedienfeld und führen Sie Ihre App erneut aus.

Sie sollten die vollständige Stapelverfolgung in der erweiterten Ansicht und den spezifischen Fehler sehen.


Dies ist AS 4.0. Es scheitert immer noch auf die gleiche Weise. Kein Stacktrace.
Steve White

Haben Sie die Flags --stacktrack --debug --info hinzugefügt?
Peterstev Uremgba vor

Sicher. Das war aber nicht das Problem. Das Problem (soweit ich das beurteilen kann) gibt es kein Fenster mehr, in dem die Stapelverfolgung angezeigt wird. Es ist jedoch möglich, gradlew von Hand in einem Terminal auszuführen, um die Informationen zu erhalten. In einem anderen Kommentar auf dieser Seite habe ich gesagt, welche Methode funktioniert.
Steve White vor

0

Wenn Sie sich in Android Studio 3.1 befinden, überprüfen Sie, ob Datei-> Projektstruktur -> Quellkompatibilität leer ist. es sollte nicht 1.8 eingestellt sein.

Drücken Sie dann OK, das Projekt wird synchronisiert und der Fehler verschwindet.


Die Frage war nicht, wie der Fehler behoben werden kann. Die Frage war, wie die Fehlermeldungen angezeigt werden.
Steve White

0

nach dem konvertieren android zu androidx.

Änderung Importbibliothek Problem wird sol. So was:

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

androidx.annotation.NonNull importieren; << so

androidx.appcompat.app.ActionBarDrawerToggle importieren; << so

androidx.drawerlayout.widget.DrawerLayout importieren; << so

androidx.recyclerview.widget.RecyclerView importieren; << so

androidx.appcompat.app.AppCompatActivity importieren; << so


Dies geht nicht auf die Frage des OP ein: Wie werden die Kompilierungsfehler angezeigt?
Steve White

-2

Ich habe diesen Fehler behoben. "Beim Kompilieren konnte die Compilerfehlerausgabe für Details nicht angezeigt werden."

Die Lösung ist sehr einfach: Fügen Sie einen Gradle unterhalb einer Codezeile hinzu

Implementierung 'com.google.android.gms: play-services-ads: 15.0.0'


Wo genau soll die Codezeile hinzugefügt werden? Könnten Sie umformulieren?
Mundharmonika141

Dies beantwortet nicht die ursprüngliche Frage: Wie werden die Compiler-Fehlermeldungen angezeigt?
Steve White
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.