Android Studio: Gdzie jest okno wyjściowe błędu kompilatora?


310

Kiedy „uruchamiam” mój projekt w Android Studio, w oknie „Wiadomości” otrzymuję:

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.

Mówi > Compilation failed; see the compiler error output for details. więc: Gdzie jest „wyjście błędu kompilatora”? I / lub jak uruchomić z --stacktraceopcją?


2
Pracuję na Android Studio 1.3.2 i żadne z rozwiązań nie działa.
Milan Babuškov

6
sucki android studio wymaga tak głupich pytań, które należy poddać ocenie .. :)
Siddharth

może ideą IDEA jest idealne ukrywanie błędów (SCNR)
bebbo

Mam również ten sam problem podczas aktualizacji wtyczki. Używam Android Studio 3.4 Canary 6
Saurabh Gaddelpalliwar

Zmierzyłem się również z tym problemem. W moim przypadku problem leży w danych klasy encji. Jeśli członkowie danych są prywatni, muszą utworzyć metody pobierające i ustawiające. Dzięki tej metodzie nadchodzą inne wiążące problemy.
Sumit Kumar

Odpowiedzi:


63

Ta odpowiedź jest nieaktualna. W przypadku Androida 3.1 Studio przejdź do tej odpowiedzi

Jedyne, co możesz zrobić, to dezaktywować zewnętrzną kompilację. W tym celu kliknij „ikonę ustawień kompilatora” w panelu „Tworzenie wiadomości”, który pojawia się, gdy wystąpi błąd. Możesz także otworzyć ustawienia kompilatora, przechodząc do Plik -> Ustawienia -> Kompilator. (Dziękujemy za @ maxgalbu za tę wskazówkę).

wprowadź opis zdjęcia tutaj

Odznacz „Użyj kompilacji zewnętrznej”

wprowadź opis zdjęcia tutaj

I zobaczysz błędy w konsoli

EDYCJA: Po powrocie do „kompilacji wewnętrznej” mogą pojawić się błędy, możesz je rozwiązać w następujący sposób: Android Studio: wyłączenie „kompilacji zewnętrznej” w celu wyświetlenia danych wyjściowych błędów tworzy duplikaty błędów klas


Odznaczenie „Użyj zewnętrznej kompilacji” wprowadza dwa błędy, gdy próbuję zbudować mój projekt: error: duplicate class: com.moberg.colorgame.BuildConfigierror: duplicate class: com.moberg.colorgame.R
Moberg

3
@Moberg Ten sam problem tutaj, zacząłem nowe pytanie: stackoverflow.com/questions/17108393/...
Waza_Be

Ok, zobaczę co się stanie i odpowiem w nowym pytaniu, jeśli coś znajdę.
Jorge Fuentes González

7
Nie mam tego panelu „wiadomości tworzą” ... wtf?
maxgalbu

9
Nie widzę teraz tych opcji. Używam Androida Studio 1.2.1.1
Andrew S

563

W przypadku Androida Studio 3.1 wybierz ikonę poniżej kompilacji w oknie kompilacji.

Przycisk przełączania nieprzetworzonych dzienników Androida Studio 3.1

W Androidzie Studio 3.3 (prawdopodobnie w 3.2.1) ikona się zmieniła, chociaż lokalizacja jest taka sama:

Przycisk przełączania nieprzetworzonych dzienników Androida Studio 3.3

Okno kompilacji powinno się otworzyć po uruchomieniu akcji kompilacji (np. Z menu kompilacji). Jeśli go nie widzisz, możesz wypróbować przycisk „Kompiluj” u dołu okna (widoczny również na powyższych zrzutach ekranu) lub za pomocą menu Widok → Narzędzie Windows → Kompilacja.


Miło widzieć, że tak wielu głosowało na tę odpowiedź, a Android Studio 3.1 jest wciąż w fazie beta 3. :-)
Ove Stoerholt

16
Co to za ikona, nie mogę jej znaleźć, ani nie mogę znaleźć okna kompilacji
Sam

7
To smutne, że musiałem przejrzeć wyszukiwarkę Google i przeglądać stosy, aby dowiedzieć się, jak wyświetlić dane wyjściowe kompilatora. Dziękuję @boiledwater
spartygw

1
@shikharbansal na wypadek, gdyby link do obrazu kiedykolwiek się zepsuł, ikona znajduje się na lewej krawędzi okna kompilacji. Wygląda trochę jak widok listy oddzielony ukośnikiem od „ab”.
Maks.

4
IDE Androida mówi po prostu „przełącz widok”… przełącz widok co? +1 za tę odpowiedź. Google nadal robi wszystko, co w ich mocy, aby ukryć przepływ pracy dla programistów
złyITguy,

39

Konfiguracja jest bardzo prosta! Wystarczy przejść do ustawień kompilatora w Android Studio 2.2.3 i ustawić --stacktracepolecenie:

Ustawienia kompilatora, aby dodać polecenie --stacktrace

Następnie uruchom aplikację ponownie


5
Gdyby to było naprawdę proste, jak mówisz, ten wątek by nie istniał.
Jungledev

1
@jungledev jest naprawdę prosty w konfiguracji, ale nie jest to zbyt oczywiste, aby o tym wiedzieć :) Zmieniając sformułowania w mojej odpowiedzi, aby to wyjaśnić
Antonio

1
W AS 4.0 ustawiłem to --stacktrace. Ale gdzie jest wynik? To było oryginalne pytanie.
Steve White

@ SteveWhite na wyjściu konsoli podczas budowania.
Antonio

32

Czy korzystasz z systemu Windows? Uruchom cmd, znajdź folder projektu i uruchom „gradlew build”. Powinno to już dać ci więcej danych wyjściowych niż IDE, możesz tam również użyć --info, --stacktrace i --debug.


10
piękny! Teraz, gdyby tylko to wyjście można było zintegrować z Android Studio
ChaseTheSun

4
Dokładnie moje myśli. IDE bez okna błędów kompilatora? Założę się, że coś przeoczyliśmy, ale to obejście powinno wystarczyć, dopóki nie zostanie rozwiązane.
Hadi Kocabas

4
„Jesteś w systemie Windows?” - Działa to również w systemie Ubuntu Linux! Dzięki! /[folder-where-you-installed-the-android-studio]/sdk/tools/templates/gradle/wrapper/gradlew build
geekQ

Jestem w trakcie migracji dużego projektu z Eclipse do Android Studio. Najlepsza jak dotąd rada: najpierw uruchom kompilację stopniową linii poleceń, a potem martw się o nowe IDE.
Jerry Brady


15

W moim przypadku wolę otworzyć okno Terminal w lewym dolnym rogu i uruchomić gradlew build --info:

wprowadź opis zdjęcia tutaj


5
@Pamblam Use ./gradlew
Rhys

1
To jedyna odpowiedź, którą znalazłem na tej stronie, która działa w AS 4.0
Steve White

9

W Android Studio 2.2.3 możesz znaleźć dane wyjściowe w konsoli stopni, jak pokazano poniżej konsola gradle


1
Gdzie jest ta konsola Gradle w AS 4.0?
Steve White

6

Opieram się na zaleceniach Jorge. Idź do Plik-> Ustawienia-> kompilator.

Tutaj zobaczysz pole do dodania opcji kompilatora, do którego podłączysz --stacktrace


Próbowałem tego w AS 4.0. Nie wiem, czy miałbym szukać jakiejkolwiek produkcji, którą mógłby wyprodukować.
Steve White

2

Biegać

gradlew --stacktrace 

w terminalu, aby zobaczyć pełny raport

dla mnie to było

Zadanie: aplikacja: compileDebugJavaWithJavac FAILED javacTask: wersja źródłowa 1.8 wymaga wersji docelowej 1.8

więc dodałem

 compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

w pliku app.gradle / android i kompilacja zakończyła się powodzeniem


Kiedy robię to w terminalu (w folderze projektu), napisane jest: BUILD SUCCESSFUL. Ale kiedy buduję przy pomocy Build -> Make Project, widzę to samo, że wystąpiły błędy kompilacji.
Steve White

1

W moim przypadku miałem odwołanie findViewById do widoku, który usunąłem w pliku xml

jeśli używasz AS 3.1 lub nowszego:

  1. przejdź do Ustawienia> Kompilacja, wykonanie i wdrożenie> kompilator
  2. dodaj --stacktrace do opcji wiersza poleceń, kliknij Zastosuj i OK
  3. W dolnej części AS kliknij Console / Build (jeśli używasz stabilnej wersji 3.1.2 i nowszych) rozwiń panel i ponownie uruchom aplikację.

powinieneś zobaczyć pełny stacktrace w rozwiniętym widoku i konkretny błąd.


To jest AS 4.0. Nadal zawodzi w ten sam sposób. Brak śledzenia stosu.
Steve White

Czy dodałeś flagi --stacktrack --debug --info?
Peterstev Uremgba

Pewnie. Ale to nie był problem. Problem (prawie jak mogę powiedzieć) nie ma już okna, w którym pojawia się ślad stosu. Można jednak uruchomić gradlew ręcznie w terminalu, aby uzyskać informacje. W innym komentarzu na tej stronie powiedziałem, która metoda działa.
Steve White

0

Jeśli jesteś w Android Studio 3.1, sprawdź, czy plik-> Struktura projektu -> Kompatybilność źródła jest pusta. nie powinien mieć ustawionego 1.8.

następnie naciśnij OK, projekt zostanie zsynchronizowany, a błąd zniknie.


Pytanie nie brzmiało, jak usunąć błąd. Pytanie dotyczyło sposobu wyświetlania komunikatów o błędach.
Steve White

0

po konwersji Androida na Androidx.

zmień problem importowania biblioteki. Lubię to:

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

import androidx.annotation.NonNull; << jak to

import androidx.appcompat.app.ActionBarDrawerToggle; << jak to

import androidx.drawerlayout.widget.DrawerLayout; << jak to

import androidx.recyclerview.widget.RecyclerView; << jak to

import androidx.appcompat.app.AppCompatActivity; << jak to


Nie dotyczy to pytania PO: jak zobaczyć błędy kompilacji.
Steve White

-2

Rozwiązałem ten błąd „Kompilacja nie widziała danych wyjściowych błędu kompilatora, aby uzyskać szczegółowe informacje”

Rozwiązanie jest bardzo proste: dodaj Gradle poniżej linii kodu

wdrożenie „com.google.android.gms: play-services-ads: 15.0.0”


Gdzie dokładnie należy dodać wiersz kodu? Czy mógłbyś sformułować inaczej?
harmonijka ustna

To nie odpowiada na pierwotne pytanie: jak wyświetlić komunikaty o błędach kompilatora.
Steve White
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.