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
Android-студия Sucki требует, чтобы за такие глупые вопросы проголосовали .. :)
Сиддхарт,

может быть, это идея IDEA, чтобы скрыть ошибки в идеале (SCNR)
bebbo

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

Я тоже сталкивался с этой проблемой. В моем случае проблема заключается в данных класса сущностей. Если ваши члены данных являются частными, они должны создать методы получения и установки. Благодаря этому методу возникают другие проблемы с привязкой.
Сумит Кумар

Ответы:


63

Этот ответ устарел. Для Android 3.1 Studio перейдите к этому ответу

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

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

Снимите флажок «Использовать внешнюю сборку»

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

И вы увидите ошибки в консоли

РЕДАКТИРОВАТЬ: После возврата к «внутренней сборке» вы можете получить некоторые ошибки, вы можете решить их следующим образом: 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
Эндрю С

563

Для Android Studio 3.1, выберите значок ниже Build в окне Build.

Android Studio 3.1 необработанная кнопка переключения журнала

В Android Studio 3.3 (возможно, в 3.2.1) значок изменился, хотя местоположение остается прежним:

Android Studio 3.3 кнопка переключения необработанного журнала

Окно сборки должно открываться при запуске действия сборки (например, из меню «Сборка»). Если вы этого не видите, вы можете попробовать нажать кнопку «Построить» в нижней части окна (также видно на скриншотах выше) или через меню Вид → Инструменты Windows → Построить.


Приятно видеть, что многие проголосовали за этот ответ, а Android Studio 3.1 все еще находится в бета-версии 3. :-)
Ове Стоерхолт

16
Что это за иконка, я не могу ее найти, и при этом я не могу найти окно сборки
Сэм

7
Грустно, что мне пришлось гуглить и копаться в stackoverflow, чтобы узнать, как увидеть вывод компилятора. Спасибо @boiledwater
spartygw

1
@shikharbansal в случае, если ссылка на изображение когда-либо снова разорвется, значок находится на левом краю окна сборки. Это выглядит как представление списка, отделенное от "ab" косой чертой.
Макс

4
В Android IDE просто говорится: «Переключить вид». Переключить вид чего? +1 за этот ответ. Google по-прежнему делает все возможное, чтобы скрыть рабочий процесс для разработчиков
angryITguy

39

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

Настройки компилятора для добавления команды --stacktrace

Затем снова запустите приложение


5
Если бы это было действительно просто, как вы говорите, этот поток не существовал бы.
jungledev

1
@jungledev это очень просто настроить, но это не слишком очевидно, чтобы знать это :) Изменяя формулировку в моем ответе, чтобы прояснить это
Антонио

1
В AS 4.0 я установил эту --stacktrace. Но где выход? Это был оригинальный вопрос.
Стив Уайт

@SteveWhite в выводе консоли при сборке.
Антонио

Антонио, ожидаемый вывод никогда не появлялся в консоли сборки для меня. Я должен был запустить Gradlew вручную, как объяснено в другом месте на этой странице.
Стив Уайт

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 15.07.13

Я нахожусь в процессе миграции огромного проекта из Eclipse в Android Studio. Лучший совет на данный момент: сначала запустите сборку командной строки, а затем позаботьтесь о новой IDE.
Джерри Брэди


15

В моем случае я предпочитаю открыть окно терминала в левом нижнем углу и запустить gradlew build --info:

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


5
@Pamblam Use ./gradlew
Рис

1
Это единственный ответ, который я нашел на этой странице, который работает в AS 4.0
Стив Уайт


6

Я строю на том, что рекомендовал Хорхе. Перейдите в Файл-> Настройки-> Компилятор.

Здесь вы увидите поле для добавления параметров компилятора, в которое вы вставляете --stacktrace


Я пробовал это в AS 4.0. Я не знаю, были ли какие-либо результаты, которые он мог произвести.
Стив Уайт

2

Бегать

gradlew --stacktrace 

в терминале, чтобы увидеть полный отчет

для меня это было

Задача: app: compileDebugJavaWithJavac FAILED javacTask: исходный выпуск 1.8 требует целевой выпуск 1.8

так что я добавил

 compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

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


Когда я делаю это в терминале (в папке проекта), он говорит: 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

Если вы работаете в Android Studio 3.1, убедитесь, что файл-> Структура проекта -> Исходная совместимость пуст. он не должен иметь 1,8 комплекта.

затем нажмите ок, проект синхронизируется и ошибка исчезнет.


Вопрос был не в том, как заставить ошибку исчезнуть. Вопрос был в том, как увидеть сообщения об ошибках.
Стив Уайт

0

после конвертировать андроид в андроид.

изменить Импорт библиотеки проблема решит Как это:

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

импорт androidx.annotation.NonNull; << как это

import androidx.appcompat.app.ActionBarDrawerToggle; << как это

import androidx.drawerlayout.widget.DrawerLayout; << как это

импорт androidx.recyclerview.widget.RecyclerView; << как это

import androidx.appcompat.app.AppCompatActivity; << как это


Это не относится к вопросу OP: как увидеть ошибки компиляции.
Стив Уайт

-2

Я решил эту ошибку "Компиляция не смогла увидеть вывод ошибки компилятора для деталей"

Решение очень простое: добавьте Gradle ниже строки кода

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


Где именно должна быть добавлена ​​строка кода? Не могли бы вы перефразировать?
harmonica141

Это не отвечает на оригинальный вопрос: как увидеть сообщения об ошибках компилятора.
Стив Уайт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.