Ошибка «failed to get feature set: no devices/emulators found»: причины и решение

Ошибка failed to get feature set: no devices/emulators found появляется при выполнении команды adb devices или любой другой команды ADB, когда компьютер физически подключён к смартфону, но утилита не видит ни одного авторизованного устройства. Это не сбой самого устройства — это разрыв в цепочке «кабель → драйвер → ADB-сервер → разрешение на отладку», и устраняется он последовательной проверкой каждого звена.

Ниже разберём, что означает это сообщение, почему оно возникает на Windows, macOS и Linux, и какие шаги помогают восстановить связь между ПК и Android-устройством. Все действия обратимы и не требуют root-прав или прошивки.

Что означает эта ошибка

Сообщение состоит из двух частей. Фраза «no devices/emulators found» говорит, что ADB-сервер не обнаружил ни одного подключённого устройства — ни физического, ни эмулятора. Префикс «failed to get feature set» указывает, что утилита попыталась запросить список поддерживаемых функций устройства, но запрос ушёл «в пустоту», потому что цели для запроса просто нет.

Ключевой момент: ошибка возникает до этапа обмена данными со смартфоном. То есть проблема почти всегда находится на стороне компьютера, кабеля или настроек отладки, а не в системе Android. Диагностику стоит начинать с самого простого звена — физического подключения.

Проверка кабеля и USB-порта

Самая частая причина — кабель, который передаёт только питание, но не данные. Такие «зарядные» кабели внешне неотличимы от полноценных. Проверить просто: подключите смартфон другим кабелем, желательно оригинальным из комплекта устройства.

Также проверьте следующее:

  • 🔌 Подключите кабель напрямую в порт материнской платы (сзади корпуса ПК), а не через хаб или переднюю панель.
  • 🔄 Попробуйте другой USB-порт — отдельные порты могут быть неисправны или отключены.
  • 📱 Убедитесь, что при подключении смартфон показывает уведомление о USB-подключении — его отсутствие указывает на проблему с кабелем или портом.
  • 🧹 Осмотрите разъём смартфона: пыль и окислы внутри порта нарушают контакт линий данных.

Если при подключении Windows вообще не издаёт звук обнаружения устройства, а в Диспетчере устройств ничего не появляется — проблема почти наверняка аппаратная: кабель, порт или разъём.

Включение отладки по USB на смартфоне

Без активной отладки по USB ADB не увидит устройство, даже если всё остальное исправно. Порядок действий на большинстве Android-устройств:

Сначала активируйте режим разработчика: откройте Настройки → О телефоне и несколько раз нажмите на пункт Номер сборки до появления сообщения «Вы стали разработчиком». Точное название пункта может отличаться в зависимости от оболочки — на некоторых прошивках это «Версия MIUI», «Версия EMUI» и т.п.

Затем перейдите в появившийся раздел Для разработчиков и включите переключатель Отладка по USB. После этого переподключите кабель.

☑️ Базовая проверка подключения

Выполнено: 0 / 5
⚠️ Внимание: держите экран смартфона разблокированным при первом подключении. Запрос на разрешение отладки появляется только на разблокированном устройстве, и если его пропустить, ADB не получит доступ.

Диалог авторизации RSA-ключа

При первом подключении к новому компьютеру Android показывает диалог «Разрешить отладку по USB?» с отпечатком RSA-ключа. Если нажать «Отмена» или не заметить окно, устройство останется неавторизованным — и ADB будет сообщать об отсутствии устройств либо показывать статус unauthorized.

Если диалог не появляется, сбросьте ранее выданные разрешения: в разделе Для разработчиков найдите пункт Отозвать авторизацию отладки по USB (название может отличаться), затем отключите и снова включите отладку и переподключите кабель. Диалог должен появиться повторно — отметьте Всегда разрешать с этого компьютера и подтвердите.

Драйверы на Windows

На Windows устройство без корректного драйвера отображается в Диспетчере устройств как неизвестное или с восклицательным знаком. Откройте Диспетчер устройств и проверьте разделы «Переносные устройства», «USB-контроллеры» и «Другие устройства» при подключённом смартфоне.

Если устройство определяется с ошибкой, установите драйвер вручную. Для многих устройств подходит универсальный Google USB Driver, который распространяется через SDK Manager в составе Android SDK. Альтернатива — фирменный драйвер производителя смартфона с его официального сайта. Конкретный драйвер зависит от модели, поэтому сверяйтесь с документацией производителя вашего устройства.

После установки драйвера перезапустите ADB-сервер:

adb kill-server

adb start-server

adb devices

В списке должно появиться устройство с серийным номером и статусом device. Статус unauthorized означает, что нужно подтвердить диалог на смартфоне; статус offline обычно указывает на устаревшую версию ADB или конфликт сервера.

📊 На каком этапе у вас возникла ошибка?
Устройство вообще не определяется ПК
Видно в системе, но adb devices пуст
Статус unauthorized
Ошибка появляется периодически

Особенности macOS и Linux

На macOS отдельные драйверы обычно не нужны — если adb devices пуст, проверьте, что установлена актуальная версия platform-tools, и перезапустите сервер. Также убедитесь, что не запущено несколько экземпляров ADB из разных пакетов (например, из Android Studio и установленного вручную), — они могут конфликтовать за порт.

На Linux частая причина — отсутствие udev-правил, из-за которых у пользователя нет прав доступа к USB-устройству. Симптом: adb devices от обычного пользователя пуст, а от sudo устройство видно. Решение — установить пакет с правилами (во многих дистрибутивах это android-udev-rules или аналог) либо добавить правило вручную с идентификатором производителя. Точный пакет зависит от дистрибутива.

Конфликт версий и сторонних ADB-серверов

Если на компьютере установлено несколько инструментов, использующих ADB — Android Studio, эмуляторы, утилиты прошивки, — они могут запускать собственные копии ADB-сервера разных версий. Сервер одной версии «убивает» сервер другой, и устройство пропадает из списка.

Признаки конфликта и действия:

  • ⚙️ Ошибка появляется после запуска эмулятора или сторонней программы — закройте её и выполните adb kill-server, затем adb start-server.
  • 📦 Проверьте, какая версия ADB используется: команда adb version покажет путь к исполняемому файлу.
  • 🗑️ Удалите или обновите устаревшие копии platform-tools, оставив одну актуальную версию.
Как проверить, какой процесс занял порт ADB

Сервер ADB по умолчанию использует порт 5037. На Windows занятый порт можно найти командой netstat -ano | findstr 5037, а затем посмотреть процесс по его PID в Диспетчере задач. На Linux и macOS используйте lsof -i :5037. Если порт держит не adb.exe, завершите этот процесс и перезапустите сервер.

Сводная таблица диагностики

СимптомВероятная причинаЧто делать
ПК не реагирует на подключениеКабель без линий данных или неисправный портЗаменить кабель, сменить порт
Устройство видно, список adb пустОтключена отладка по USBВключить отладку в разделе разработчика
Статус unauthorizedНе подтверждён RSA-ключОтозвать авторизацию, подтвердить диалог
Устройство с восклицательным знакомОтсутствует драйверУстановить драйвер производителя или Google USB Driver
Статус offline или пропадаетКонфликт версий ADBОставить одну версию, перезапустить сервер
⚠️ Внимание: не используйте команды сброса настроек смартфона и не прошивайте устройство ради решения этой ошибки — проблема находится на стороне подключения и решается диагностикой, а не радикальными мерами.

Если ничего не помогло

Когда все шаги выполнены, а устройство по-прежнему не видно, сузьте поиск методом исключения. Подключите этот же смартфон к другому компьютеру: если там он определяется — проблема в конфигурации вашего ПК. Подключите к вашему ПК другой Android-смартфон: если он тоже не виден, дело в драйверах или системе компьютера.

На Windows дополнительно проверьте, не блокирует ли подключение антивирус или корпоративная политика безопасности, ограничивающая USB-устройства. На некоторых системах помогает обновление Windows и чипсетных драйверов USB-контроллера.

Частые вопросы

Почему adb devices показывает пустой список, хотя телефон заряжается?

Зарядка работает по линиям питания, которые есть даже в «зарядных» кабелях без линий данных. Кроме того, для ADB нужна включённая отладка по USB — без неё устройство не появится в списке, даже если кабель исправен.

Что делать, если статус устройства — unauthorized?

На смартфоне откройте раздел «Для разработчиков», отзовите авторизацию отладки по USB, переподключите кабель и подтвердите появившийся диалог на разблокированном экране, отметив «Всегда разрешать».

Нужен ли root для работы ADB?

Нет. Для базовых команд ADB достаточно включённой отладки по USB. Root требуется только для отдельных операций внутри системы устройства и никак не влияет на обнаружение устройства компьютером.

Ошибка появляется при работе с эмулятором — в чём причина?

Если эмулятор запущен, но ADB его не видит, вероятен конфликт версий ADB-сервера между эмулятором и установленными platform-tools. Закройте эмулятор, выполните adb kill-server, затем adb start-server и запустите эмулятор заново.

Может ли антивирус блокировать ADB?

Да, некоторые антивирусы и политики безопасности ограничивают доступ к USB-устройствам или блокируют сетевые соединения локального сервера ADB. Временно отключите защиту или добавьте ADB в исключения, чтобы проверить эту версию.