Сообщение «daemon not running; starting it now on port 5037» появляется в терминале при первом запуске команды adb после загрузки компьютера и само по себе не является ошибкой — это штатный старт фонового сервера ADB (Android Debug Bridge), который слушает порт 5037. Проблемой оно становится только тогда, когда после этой строки процесс зависает, завершается с ошибкой или устройство не определяется командой adb devices.
Разберёмся, как отличить нормальное поведение от сбоя, почему демон может не стартовать или «отваливаться», и какие действия помогают восстановить связь между ПК и Android-устройством. Инструкции подходят для Windows, macOS и Linux — различия в командах указаны отдельно.
Что означает это сообщение и когда всё в порядке
ADB устроен по клиент-серверной схеме: консольная команда — это клиент, а фоновый процесс adb-сервера (daemon) работает постоянно и обслуживает подключения к устройствам. Когда вы вводите любую команду adb и сервер ещё не запущен, клиент автоматически стартует его — именно об этом сообщает строка про порт 5037.
Нормальная последовательность выглядит так:
daemon not running; starting it now at tcp:5037
* daemon started successfully
List of devices attached
XXXXXXXX device
Если после строки daemon started successfully команда выполняется и устройство видно — ничего делать не нужно. Тревожные признаки: сообщение повторяется при каждом запуске, появляется ошибка cannot bind to port 5037, adb server is out of date или список устройств пуст либо показывает статус unauthorized.
Первичная диагностика: проверка состояния сервера и устройства
Начните с простой проверки, которая занимает меньше минуты. Откройте терминал (в Windows — cmd или PowerShell) и выполните:
adb devices
Возможные результаты и их трактовка:
- 📱 device — всё работает, проблема была разовой;
- 🔒 unauthorized — на смартфоне не подтверждён запрос «Разрешить отладку по USB»; разблокируйте экран и подтвердите диалог;
- 👻 offline — связь есть, но сессия зависла: помогает перезапуск сервера (см. ниже);
- 🚫 пустой список — устройство не видно: проверяйте кабель, драйверы и режим подключения USB.
Если устройство не определяется, проверьте, что на нём включён режим разработчика и отладка по USB (обычно: Настройки → О телефоне → несколько нажатий на «Номер сборки», затем Настройки → Для разработчиков → Отладка по USB). Точные названия пунктов зависят от оболочки производителя.
Как перезапустить ADB-сервер
Зависший или некорректно работающий демон — самая частая причина проблем. Перезапуск выполняется двумя командами:
adb kill-server
adb start-server
После этого снова выполните adb devices и проверьте результат. Если сервер не стартует или команда «висит», завершите процесс вручную: в Windows через Диспетчер задач (процесс adb.exe), в macOS/Linux — командой:
pkill adb
☑️ Базовый чек-лист восстановления ADB
⚠️ Внимание: не завершайте процесс adb во время прошивки или выполнения команд adb sideload — прерывание операции записи может привести к сбоям устройства. Перезапускайте сервер только когда никакие критичные операции не выполняются.
Ошибка «cannot bind to port 5037»: порт занят
Если демон не стартует с ошибкой привязки к порту, значит порт 5037 уже занят другим процессом. Типичные виновники: вторая копия adb из другого комплекта platform-tools, эмуляторы Android, среды разработки (Android Studio), менеджеры смартфонов от производителей, некоторые программы синхронизации.
Узнать, кто занял порт, в Windows можно так:
netstat -ano | findstr 5037
Последний столбец — PID процесса, его можно посмотреть в Диспетчере задач на вкладке «Подробности». В macOS/Linux аналог:
lsof -i :5037
Дальше два пути: завершить конфликтующий процесс либо удалить лишние копии adb и оставить одну актуальную версию platform-tools, добавленную в переменную окружения PATH. Смешение нескольких версий adb на одном компьютере — частый источник сообщения adb server is out of date: старый клиент убивает новый сервер и наоборот, и демон перезапускается бесконечно.
Проблемы с драйверами и USB-подключением (Windows)
Если сервер стартует нормально, но список устройств пуст, причина чаще всего на стороне Windows или кабеля. Откройте Диспетчер устройств и посмотрите, как определяется смартфон: устройство с восклицательным знаком или «Неизвестное USB-устройство» указывает на проблему с драйвером.
- 🔌 Попробуйте другой USB-порт, желательно напрямую на материнской плате, без хабов;
- 🧵 Замените кабель — часть кабелей поддерживает только зарядку, без передачи данных;
- 💾 Установите драйвер от производителя смартфона либо Google USB Driver (для устройств, где он применим);
- 🔁 На смартфоне смените режим USB на «Передача файлов (MTP)» — иногда это помогает системе корректно инициализировать устройство.
После установки драйвера перезапустите adb-сервер и проверьте adb devices ещё раз.
Сравнение типичных симптомов и решений
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Сообщение появляется, устройство видно | Штатный запуск сервера | Ничего не требуется |
| cannot bind to port 5037 | Порт занят другим процессом | Найти процесс через netstat/lsof, завершить его |
| adb server is out of date | Конфликт нескольких версий adb | Оставить одну копию platform-tools в PATH |
| unauthorized | Не подтверждена отладка на смартфоне | Разблокировать экран, подтвердить диалог RSA |
| Пустой список устройств | Драйвер, кабель или отключённая отладка | Проверить драйвер, кабель, настройки разработчика |
⚠️ Внимание: не скачивайте «adb-драйверы» и отдельные исполняемые файлы adb.exe с неофициальных сайтов — под видом утилит нередко распространяется вредоносное ПО. Используйте platform-tools с официального сайта для разработчиков Android и драйверы с сайта производителя устройства.
Если ничего не помогло: дополнительные шаги
Когда стандартные методы исчерпаны, остаются более глубокие проверки. Во-первых, на смартфоне можно отозвать авторизации отладки: Настройки → Для разработчиков → Отозвать доступ для отладки по USB, затем переподключить устройство и подтвердить запрос заново. Это помогает при «застрявшем» статусе unauthorized.
Во-вторых, проверьте, не блокирует ли антивирус или брандмауэр локальное соединение на порт 5037 — временно отключите защиту и повторите запуск. В-третьих, обновите platform-tools до свежей версии: старые сборки adb могут конфликтовать с новыми версиями Android на устройстве.
ADB по Wi-Fi как обходной вариант
Если USB-подключение нестабильно, на устройствах с современными версиями Android доступна беспроводная отладка (Настройки → Для разработчиков → Беспроводная отладка). Сопряжение выполняется командой adb pair с кодом с экрана телефона, затем adb connect по IP-адресу устройства. Это не лечит причину сбоя USB, но позволяет продолжить работу.
Наконец, перезагрузка обоих устройств — тривиальный, но рабочий шаг: он сбрасывает зависшие USB-сессии и состояние демона одновременно на обеих сторонах.
Частые вопросы
«daemon not running» — это вирус или ошибка системы?
Нет. Это стандартное информационное сообщение утилиты adb о том, что фоновый сервер не был запущен и стартует сейчас. Ошибкой оно становится, только если за ним не следует успешный запуск и выполнение команды.
Почему сообщение появляется при каждом запуске команды?
Возможные причины: adb-сервер завершается сразу после старта (конфликт версий или занятый порт), либо каждая команда запускается из другой копии adb. Проверьте, сколько экземпляров adb есть в системе, и оставьте один актуальный.
Устройство показывает unauthorized, а диалог на экране не появляется. Что делать?
Разблокируйте смартфон, отзовите авторизации отладки в настройках разработчика, переподключите кабель и выполните adb kill-server, затем adb devices. Диалог подтверждения должен появиться заново. Также проверьте, что экран не заблокирован в момент подключения.
Можно ли сменить порт 5037 на другой?
Да, adb позволяет задать другой порт через переменную окружения ANDROID_ADB_SERVER_PORT или параметр -P у команд. Но обычно проще и надёжнее освободить стандартный порт, завершив конфликтующий процесс.
ADB не видит устройство, хотя оно заряжается от ПК. В чём дело?
Зарядка работает и по кабелю без линий передачи данных. Замените кабель на заведомо «дата-кабель», попробуйте другой порт USB и убедитесь, что на смартфоне включена отладка по USB.