Ошибка 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. После этого переподключите кабель.
☑️ Базовая проверка подключения
⚠️ Внимание: держите экран смартфона разблокированным при первом подключении. Запрос на разрешение отладки появляется только на разблокированном устройстве, и если его пропустить, 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 или конфликт сервера.
Особенности 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 в исключения, чтобы проверить эту версию.