Android Studio: Де знаходиться вікно виводу помилок компілятора?


310

Коли я запускаю свій проект в Android Studio, у вікні «Повідомлення» я отримую:

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.

Це говорить > Compilation failed; see the compiler error output for details. Так, де "вихід помилки компілятора"? І / або як мені запустити --stacktraceваріант?


2
Я запускаю Android Studio 1.3.2, і жодне з рішень не працює.
Мілан Бабушків

6
Студія андроїд суккі вимагає, щоб такі нерозумні питання були анонсовані .. :)
Сіддхарт

можливо, ідея IDEA приховати помилки в ідеалі (
SCNR

У мене теж проблема, коли я оновлюю плагін. Я використовую Android Studio 3.4 Canary 6
Saurabh Gaddelpalliwar

Я також стикався з цим питанням. У моєму випадку проблема полягає у даних класів сутності. Якщо члени ваших даних приватні, вони повинні створити методи отримання та налаштування. Завдяки цьому методу виникають інші обов'язкові питання.
Суміт Кумар

Відповіді:


63

Ця відповідь застаріла. Для Android 3.1 Studio перейдіть до цієї відповіді

Одне, що ви можете зробити - це відключити зовнішню збірку. Для цього натисніть на «значок налаштування компілятора» на панелі «Зробити повідомлення», що з’являється, коли у вас є помилка. Ви також можете відкрити налаштування компілятора, перейшовши до Файл -> Налаштування -> Компілятор. (Дякую @maxgalbu за цю пораду).

введіть тут опис зображення

Зніміть прапорець "Використовувати зовнішню збірку"

введіть тут опис зображення

І ви побачите помилки в консолі

EDIT: Після повернення до "внутрішньої збірки" ви можете отримати деякі помилки, ви можете їх вирішити таким чином: Android Studio: відключення "Зовнішньої збірки" для відображення виводу помилок створюють дублікати помилок класу


Якщо знімати прапорець "Використовувати зовнішню збірку", я намагаюся створити свій проект: error: duplicate class: com.moberg.colorgame.BuildConfigіerror: duplicate class: com.moberg.colorgame.R
Moberg

3
@Moberg ж проблема тут, я почав нове питання: stackoverflow.com/questions/17108393 / ...
Waza_Be

Гаразд, я побачу, що станеться, і відповім на нове запитання, якщо щось знайду.
Хорхе Фуентес Гонсалес

7
У мене немає такої панелі "повідомлення роблять" ... wtf?
maxgalbu

9
Зараз я не бачу цих варіантів. Я працюю на Android Studio 1.2.1.1
Andrew S

563

Для Android Studio 3.1 виберіть піктограму під Build one у вікні Build.

Кнопка перемикання журналу в режимі Android Studio 3.1

За допомогою Android Studio 3.3 (можливо, в 3.2.1) значок змінився, хоча місце розташування те саме:

Кнопка перемикання журналу в режимі Android Studio 3.3

Вікно збірки має відкритися під час запуску дії збірки (наприклад, у меню збірки). Якщо ви цього не бачите, ви можете спробувати кнопку «Створити» внизу вікна (також видно на наведених вище екранах) або через меню Перегляд → Інструмент Windows → Збірка.


Приємно бачити, що стільки голосів проголосували за цю відповідь, а Android Studio 3.1 все ще знаходиться у бета-версії 3. :-)
Ove Stoerholt

16
Що таке Ікона, я, здається, не можу її знайти, і я не можу знайти вікно складання
Сем

7
Сумно, що мені довелося переглядати Google і копати stackoverflow, щоб дізнатися, як бачити вихід компілятора. Дякую @boiledwater
spartygw

1
@shikharbansal у випадку, якщо посилання на зображення колись знову перерветься, значок знаходиться в лівій частині вікна збірки. Це виглядає як перегляд списку, розділеного від "ab" косою рисою.
Макс

4
IDE Android просто говорить "перемикання" .. перемикання перегляду що? +1 за цю відповідь. Google все ще робить все можливе, щоб приховати робочий процес для розробників
сердитийTguy

39

Це дуже просто налаштувати! Просто перейдіть до налаштувань компілятора в Android Studio 2.2.3 і встановіть --stacktraceкоманду:

Налаштування компілятора для додавання команди --stacktrace

Потім знову запустіть додаток


5
Якби це було насправді прямо, як ви кажете, ця тема не існувала б.
jungledev

1
@jungledev це зробити дуже просто, але це не надто очевидно, щоб це знати :) Змінення формулювання у моїй відповіді, щоб зробити це зрозумілим
Антоніо

1
У AS 4.0 я встановив це --stacktrace. Але де вихід? Це було оригінальне питання.
Стів Вайт

@SteveWhite у висновку консолі під час будівництва.
Антоніо

32

Ви в Windows? Запустіть cmd, знайдіть папку свого проекту та запустіть "gradlew build". Це вже повинно дати вам більше результатів, ніж IDE, ви також можете використовувати там --info, --stacktrace та --debug.


10
гарний! Тепер якби тільки цей вихід міг бути інтегрований в Android Studio
ChaseTheSun,

4
Мої думки точно. IDE без вікна для помилок компілятора? Надіюсь, нам щось не вистачає, але цього вирішення має бути достатньо, поки це не буде вирішено.
Хаді Кокабас

4
"Ти на вікнах?" - Це також працює під Ubuntu Linux! Дякую! /[folder-where-you-installed-the-android-studio]/sdk/tools/templates/gradle/wrapper/gradlew build
geekQ

Я переношу величезний проект із Eclipse на Android Studio. Найкраще порада поки: спочатку змайструйте роботу gradle командного рядка, а потім переживайте про новий IDE.
Джеррі Брейді


15

У моєму випадку я вважаю за краще відкрити вікно терміналу внизу зліва та запустити gradlew build --info:

введіть тут опис зображення


5
@Pamblam Use ./gradlew
Rhys

1
Це єдина відповідь, яку я знайшов на цій сторінці, яка працює в AS 4.0
Стів Вайт


6

Я будую на тому, що рекомендував Хорхе. Перейдіть у меню Файл-> Налаштування-> компілятор.

Тут ви побачите поле для додавання параметрів компілятора, де ви підключите --stacktrace


Я спробував це в AS 4.0. Я не знаю, чи потрібно було шукати якийсь результат, який він міг би отримати.
Стів Вайт

2

Біжи

gradlew --stacktrace 

в терміналі, щоб побачити повний звіт

для мене це було

Завдання: додаток: compileDebugJavaWithJavac FAILED javacTask: випуск джерела 1.8 вимагає цільового випуску 1,8

тому я додав

 compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

у файлі / android app.gradle і збірка успішно завершена


Коли я роблю це в терміналі (в папці проекту), він говорить BUILD SUCCESSFUL Але коли я будую з Build -> Make Project, я бачу те саме повідомлення, що були помилки компіляції.
Стів Вайт

1

У моєму випадку я мав посилання findViewById на подання, яке я видалив у xml

якщо ви використовуєте AS 3.1 і вище:

  1. перейдіть у Налаштування> Збірка, виконання та розгортання> компілятор
  2. додати --stacktrace до параметрів командного рядка, натиснути кнопку застосувати та добре
  3. Внизу AS клацніть на Console / Build (Якщо ви використовуєте стабільну версію 3.1.2 і вище), розгорніть панель і запустіть додаток ще раз.

ви повинні побачити повний стек-тракт у розгорнутому вікні та конкретну помилку.


Це AS 4.0. Він все одно провалюється так само. Немає стека.
Стів Вайт

Ви додали прапорці --stacktrack --debug --info?
Пітерстев Уремгба

Звичайно. Але це не було проблемою. Проблема (наскільки я можу сказати) у тому, що більше немає вікна, де відображається слід стека. Однак можна запустити gradlew вручну в терміналі, щоб отримати інформацію. В іншому коментарі на цій сторінці я сказав, який метод працював.
Стів Вайт

0

Якщо ви перебуваєте в андроїд-студії 3.1, перевірте, чи файл-> Структура проекту -> Сумісність джерела порожня. він не повинен мати 1,8 набору.

потім натисніть ОК, проект синхронізується і помилка зникне.


Питання полягало не в тому, як змусити помилку усунутись. Питання полягало в тому, як бачити повідомлення про помилки.
Стів Вайт

0

після перетворення Android в androidx.

Зміна проблеми імпорту бібліотеки вирішиться. Подобається це:

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

імпорт androidx.annotation.NonNull; << подібне

імпортувати androidx.appcompat.app.ActionBarDrawerToggle; << подібне

імпортувати androidx.drawerlayout.widget.DrawerLayout; << подібне

імпортувати androidx.recyclerview.widget.RecyclerView; << подібне

імпортувати androidx.appcompat.app.AppCompatActivity; << подібне


Це не стосується питання ОП: як бачити помилки компіляції.
Стів Вайт

-2

Я вирішив цю помилку "Під час компіляції не вдалося переглянути деталі помилки компілятора"

Рішення дуже просте: Додайте в Gradle нижче рядка коду

реалізація 'com.google.android.gms: play-services-ads: 15.0.0'


Де саме слід додати рядок коду? Не могли б ви перефразовувати?
гармоніка141

Це не дає відповіді на початкове запитання: як бачити повідомлення про помилки компілятора.
Стів Вайт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.