Ошибка adb: failed to get feature set: no devices/emulators found появляется в терминале в тот момент, когда команда adb devices возвращает пустой список, а любая последующая команда — например, adb shell или adb install — не находит ни одного подключённого устройства. Это означает, что ADB-сервер на компьютере работает, но не видит ни смартфон, ни эмулятор, поэтому ему не с чем устанавливать соединение.
Часть «failed to get feature set» указывает на то, что клиент ADB попытался запросить набор возможностей устройства и не получил ответа, поскольку целевого девайса просто нет в списке. Корень проблемы почти всегда лежит в одной из четырёх зон: отключённая отладка по USB, проблема с драйвером, неисправный кабель или порт, либо конфликт версий ADB. Ниже разберём каждую причину и безопасные способы диагностики.
Что означает эта ошибка и как работает цепочка подключения
Чтобы понять, где сбой, полезно знать, из чего состоит соединение. Команда на компьютере проходит путь: ADB-клиент → ADB-сервер → USB-драйвер → демон adbd на смартфоне. Ошибка «no devices/emulators found» возникает, когда цепочка обрывается на любом из звеньев, и сервер не может перечислить ни одно устройство.
Проверить состояние цепочки можно одной командой:
adb devices
Если список пуст — устройство вообще не обнаружено. Если в списке есть строка со статусом unauthorized, соединение есть, но смартфон не подтвердил доверие компьютеру. Если статус offline — обычно несовпадение версий ADB или сбой демона на устройстве.
- 🔌 Нет строки в списке — физическое подключение, драйвер или отладка по USB.
- 🔐 unauthorized — нужно подтвердить отпечаток RSA-ключа на экране телефона.
- 📴 offline — перезапуск ADB-сервера или обновление Platform Tools.
- ✅ device — всё в порядке, ошибка возникала из-за другой причины (например, неверный serial).
Шаг 1. Проверка кабеля, порта и режима подключения
Начать стоит с самого простого и обратимого. Значительная часть USB-кабелей в комплекте с зарядными устройствами предназначена только для зарядки и не содержит линий передачи данных. Возьмите кабель, которым точно передавали файлы, либо проверьте текущий, подключив телефон и посмотрев, появляется ли он как накопитель в режиме передачи файлов.
Далее проверьте сам порт. Подключите смартфон напрямую к порту материнской платы (на стационарном ПК — к задней панели), минуя хабы и удлинители. На телефоне откройте шторку уведомлений: при подключении по USB там обычно есть пункт выбора режима. Переключите его с «Только зарядка» на Передача файлов (MTP) — на многих прошивках это помогает системе корректно инициализировать соединение.
⚠️ Внимание: дешёвые USB-хабы и передние панели корпусов часто дают нестабильное питание и обрывы данных. Для диагностики используйте только прямое подключение к порту компьютера.
Шаг 2. Включение отладки по USB на смартфоне
Без активной опции «Отладка по USB» демон adbd на устройстве не принимает подключения, и список adb devices останется пустым. Опция скрыта в меню «Для разработчиков», которое по умолчанию не отображается.
Общий порядок на чистом Android выглядит так: откройте Настройки → О телефоне и несколько раз нажмите на пункт Номер сборки, пока не появится сообщение о том, что вы стали разработчиком. Затем вернитесь в настройки, найдите раздел Для разработчиков (местоположение зависит от оболочки — иногда внутри «Система» или «Расширенные настройки») и включите Отладка по USB.
Учтите, что в оболочках MIUI, ColorOS, One UI и других путь к пунктам может отличаться, а для включения некоторых опций разработчика система может запросить пароль от учётной записи или SIM-карту. Точный путь для вашей модели стоит сверить с документацией производителя.
☑️ Подготовка смартфона к подключению
Шаг 3. Подтверждение RSA-ключа — статус unauthorized
После включения отладки при первом подключении на экране смартфона появляется диалог «Разрешить отладку по USB?» с отпечатком RSA-ключа компьютера. Если его не подтвердить, устройство будет висеть в статусе unauthorized, а команды вернут ту же ошибку об отсутствии устройств.
Диалог легко пропустить: он может скрываться за блокировкой экрана или не появиться из-за сбоя. В этом случае в меню разработчика нажмите пункт вроде Отозвать авторизацию отладки по USB (название может отличаться), отключите и снова подключите кабель — запрос появится повторно. Отметьте «Всегда разрешать с этого компьютера», чтобы не подтверждать каждый раз.
Шаг 4. Драйверы и ADB-сервер на Windows
Если телефон настроен правильно, но adb devices пуст, проверьте, как устройство видит сама Windows. Откройте Диспетчер устройств и посмотрите, нет ли смартфона в разделе «Другие устройства» с жёлтым значком — это признак отсутствующего драйвера. Обычно помогает установка Google USB Driver из SDK Manager либо фирменного драйвера производителя телефона.
Следующий шаг — перезапуск ADB-сервера, который мог зависнуть или работать на устаревшей версии:
adb kill-server
adb start-server
adb devices
Ещё одна частая причина — конфликт нескольких копий adb.exe на компьютере: одна в Platform Tools, другая в составе Android Studio, третья — в папке какой-нибудь утилиты. Разные версии сервера несовместимы между собой, и клиент может подключаться не к тому серверу. Проверить версию можно командой adb version, а лишние копии стоит удалить, оставив актуальные Platform Tools.
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Пустой список adb devices | Кабель без линий данных, выключена отладка | Другой кабель, настройки разработчика |
| Статус unauthorized | Не подтверждён RSA-ключ | Диалог на экране телефона, отзыв авторизации |
| Статус offline | Конфликт версий ADB | adb kill-server, обновление Platform Tools |
| Устройство с жёлтым значком в Windows | Отсутствует USB-драйвер | Диспетчер устройств, установка драйвера |
| Эмулятор не виден | Эмулятор не запущен или другой ADB | Запуск эмулятора до команды, единая версия adb |
⚠️ Внимание: скачивайте Platform Tools и драйверы только с официальных источников — сайта Android Developers и сайта производителя смартфона. Сторонние «пакеты ADB» нередко содержат устаревшие или модифицированные файлы.
Особый случай: ошибка при работе с эмулятором
Формулировка «no devices/emulators found» появляется и тогда, когда вы работаете только с эмулятором, но он не запущен или не успел загрузиться. Убедитесь, что виртуальное устройство полностью стартовало — до экрана блокировки, — и лишь затем выполняйте команды. Проверить список запущенных эмуляторов можно командой emulator -list-avds.
Отдельная ловушка — эмуляторы, поставляющиеся с собственным adb.exe (например, некоторые игровые эмуляторы Android). Их сервер может занять порт и конфликтовать с Platform Tools. В такой ситуации помогает завершить все процессы adb через диспетчер задач и запустить сервер заново из одной выбранной папки.
Как подключиться к устройству по Wi-Fi вместо USB
На Android 11 и новее в меню разработчика есть «Беспроводная отладка» с сопряжением по коду. На старых версиях требуется сначала подключиться по USB и выполнить adb tcpip 5555, затем adb connect IP_устройства:5555. Телефон и ПК должны быть в одной сети.
Когда ничего не помогает
Если все шаги выполнены, а устройство по-прежнему не определяется, сузьте поиск методом исключения. Подключите смартфон к другому компьютеру: если там он виден — проблема в системе или драйверах первого ПК. Если и там не виден — вероятны неисправность разъёма телефона или сбой в его прошивке.
Также проверьте сам разъём смартфона: загрязнение или окисление контактов может пропускать питание, но блокировать линии данных. Аккуратная чистка и проверка другим кабелем — безопасный способ это исключить. При подозрении на аппаратную неисправность разъёма лучше обратиться в сервис, а не пытаться ремонтировать самостоятельно.
Частые вопросы
Почему adb devices показывает пустой список, хотя телефон заряжается?
Зарядка использует только силовые линии USB. Для ADB нужны линии данных, включённая отладка по USB и корректный драйвер. Чаще всего виноват кабель «только для зарядки» или выключенная опция в меню разработчика.
Что делать, если устройство в статусе unauthorized?
Разблокируйте экран смартфона и подтвердите диалог «Разрешить отладку по USB?». Если диалог не появляется, отзовите авторизацию в настройках разработчика и переподключите кабель.
Может ли антивирус блокировать ADB?
Да, некоторые антивирусы и брандмауэры блокируют локальные соединения ADB-сервера. Временно отключите защиту или добавьте adb.exe в исключения и проверьте, появилось ли устройство.
Нужен ли root для работы ADB?
Нет. Обычные команды ADB — установка приложений, shell, передача файлов, логи — работают без root-прав. Достаточно включённой отладки по USB и подтверждённого ключа.
Ошибка возникает только с эмулятором. В чём причина?
Скорее всего, эмулятор не запущен, ещё загружается или использует собственную версию adb, конфликтующую с Platform Tools. Запустите эмулятор до выполнения команд и убедитесь, что в системе используется одна актуальная версия adb.