E/art: Не удалось отправить ответ отладчику: Сломанная трубка, но приложение все еще работает

Когда я запускаю свое приложение, в логарифме отображается много строк, но только одна ошибка:

E/art: Не удалось отправить ответ отладчику: Сломанная трубка.

Что это значит? И как я могу это исправить?

Ответ 1

Объяснение ошибки:

E/ART: Failed sending reply to debugger: Broken pipe.

Что такое E/ART?

ART - это A ndroid R un T strong > IME. Это интерпретатор байт-кода на вашем телефоне Android. E просто указывает уровень ведения журнала ERROR.

Что такое "отправка ответа отладчику"?

Отладка на телефоне Android выполняется с помощью adb (Android Debugging Bridge). Процесс adb выполняется на вашей машине dev (ваш ноутбук или ПК), а демон работает на устройстве Android (т.е. Эмулятор или телефон).

Что такое сломанная труба?

Ваш компьютер-разработчик и устройство Android взаимодействуют как клиентский сервер, а сломанный канал означает, что связь стала недействительной. Например, клиент (устройство Android) пытается отправить ответ на сервер (процесс adb, запущенный на машине dev), но сервер уже закрыл сокет.

Как исправить его

Сначала убедитесь, что ваше приложение правильно построено, выполнив команду clean/rebuild.

Затем, если вы используете свое приложение с помощью отладки USB на реальном телефоне, вы можете часто устранить проблему, отсоединив USB-кабель и затем подключив его обратно, чтобы восстановить соединение клиент/сервер.

Если это не сработает, вы можете отключить USB-кабель и (если необходимо, остановить эмулятор) и закрыть Android Studio. Этого достаточно, чтобы остановить процесс adb. Затем, когда вы снова откроете Android Studio, он перезапустится и соединение будет восстановлено.

Если это не сработает, вы можете попытаться остановить сервер adb вручную, используя инструкции в этом вопросе. Например, вы можете попробовать открыть командную строку или терминал и перейти в каталог sdk/platform-tools и ввести:

adb kill-server
adb start-server

Ответ 2

Вы можете сделать следующее:

  • Убить эмулятор и Android Studio
  • Откройте Android Studio и "Перестроить", которая в основном удаляет папку сборки и воссоздает ее.

Ответ 3

У меня была точка останова в операторе return, когда я удалил все, как все должно было работать. Так что дайте эту попытку тоже (удаляя все точки останова).

Ответ 4

Убийство процесса "adb" помогло мне оправиться от этой ошибки. Просто попробуйте перезапустить adb.

Ответ 5

Ошибка возникает из-за отсутствия фактических данных или класса. Для проверки ошибки используйте монитор Android с ошибкой уровня журнала и фильтр Regex. Надеюсь, вы получите фактическую ошибку.

Ответ 6

  • Проверьте цвета имени файла в папке res если имя цвета, а затем заменить цветом
  • Я думаю, вам нужно перенести свою декларацию цвета из strings.xml и поместить ее внутрь colors.xml

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="myColor">#ccff00</color>
</resources>