Команда adb devices возвращает пустой список, а Flutter, React Native или Android Studio выдают сообщение no devices/emulators found — это означает, что компьютер не видит ни одного подключённого Android-устройства и ни одного запущенного эмулятора. Проблема почти всегда решается на уровне драйверов, настроек отладки или кабеля, и разбираться в ней нужно последовательно.
Ниже разберём проверки от самых простых к более специфичным. Порядок важен: сначала исключаем физические причины, затем программные. Большинство случаев закрывается на первых трёх шагах.
Что означает эта ошибка
Сообщение no devices/emulators found выводится, когда инструмент разработки (например, Flutter через команду flutter run или flutter doctor) опрашивает ADB-сервер и не получает в ответ ни одного доступного устройства. Это не ошибка самого приложения — это симптом того, что связь между компьютером и смартфоном или эмулятором не установлена.
Ключевой диагностический шаг — выполнить в терминале команду:
adb devices
Если список пуст — проблема в подключении или драйверах. Если устройство отображается со статусом unauthorized — нужно подтвердить отладку на самом смартфоне. Если статус offline — помогает перезапуск ADB-сервера.
Проверка физического подключения
Начните с банального, но самого частого источника проблемы — кабеля. Значительная часть USB-кабелей в комплектах и от зарядных устройств поддерживает только зарядку и не передаёт данные. Внешне такой кабель ничем не отличается от полноценного.
- 🔌 Замените кабель на заведомо рабочий, поддерживающий передачу данных (например, тот, через который раньше копировали файлы).
- 🖥️ Подключите устройство напрямую к порту USB компьютера, минуя хабы, удлинители и разветвители.
- 🔄 Попробуйте другой USB-порт — на ПК предпочтительны порты на задней панели материнской платы.
- 📱 Проверьте, что при подключении телефон реагирует: появляется уведомление о зарядке или выборе режима USB.
⚠️ Внимание: если телефон вообще не реагирует на подключение (нет даже индикации зарядки), проблема может быть в разъёме устройства или кабеле. Программные настройки в этом случае ничего не дадут — сначала проверьте аппаратную часть другим кабелем и другим портом.
Если файлы с телефона на компьютер копируются нормально, значит, кабель и порт исправны, и можно переходить к настройкам отладки.
Включение отладки по USB на Android
Без активированной отладки по USB устройство никогда не появится в списке ADB. Эта функция скрыта в меню разработчика, которое по умолчанию не отображается в настройках.
Общий порядок активации выглядит так:
- ⚙️ Откройте
Настройки → О телефонеи несколько раз подряд нажмите на пунктНомер сборкидо появления сообщения о включении режима разработчика. - 🛠️ Вернитесь в настройки и найдите раздел
Для разработчиков(на разных прошивках он может находиться внутри «Система» или «Расширенные настройки»). - ✅ Включите переключатель
Отладка по USB(USB debugging). - 🔐 Подключите телефон к ПК и подтвердите на экране устройства запрос «Разрешить отладку по USB?», при желании отметив «Всегда разрешать с этого компьютера».
Точные названия пунктов и их расположение зависят от производителя и версии прошивки (Xiaomi/MIUI, Samsung One UI, чистый Android и другие отличаются), поэтому при расхождениях сверяйтесь с документацией своей модели. Если запрос на разрешение отладки не появился — отключите и снова подключите кабель либо смените режим USB.
☑️ Базовая проверка подключения Android к ПК
Режим USB-подключения и драйверы
На многих устройствах после подключения кабеля нужно выбрать режим работы USB. По умолчанию часто стоит «Только зарядка», при котором ADB-подключение может не устанавливаться. Опустите шторку уведомлений на телефоне, нажмите на уведомление о подключении и выберите режим Передача файлов (MTP) — после этого повторите adb devices.
На Windows отдельный источник проблем — драйверы. Откройте Диспетчер устройств и посмотрите, как определяется телефон:
| Что видно в Диспетчере устройств | Что это значит | Действие |
|---|---|---|
| Android Device / ADB Interface без ошибок | Драйвер установлен корректно | Проверять настройки на телефоне |
| Устройство с жёлтым восклицательным знаком | Драйвер отсутствует или работает с ошибкой | Обновить/установить драйвер вручную |
| Устройство в разделе «Переносные устройства» | Установлен только MTP-драйвер | Доустановить ADB-драйвер |
| Устройство вообще не появляется | Проблема с кабелем, портом или разъёмом | Вернуться к проверке физического подключения |
Для установки ADB-драйвера используйте драйвер от производителя устройства либо Google USB Driver, который ставится через SDK Manager в Android Studio. При ручной установке в Диспетчере устройств выберите «Обновить драйвер → Найти на этом компьютере» и укажите папку с распакованным драйвером.
Перезапуск ADB-сервера
Иногда устройство настроено правильно, но сам ADB-сервер на компьютере завис или держит устаревшее состояние. В этом случае помогает его перезапуск:
adb kill-server
adb start-server
adb devices
После перезапуска на экране телефона может снова появиться запрос на разрешение отладки — подтвердите его. Если устройство ранее отображалось как offline, этот приём обычно возвращает его в рабочее состояние.
Ещё одна возможная причина — конфликт нескольких версий ADB на одном компьютере. Например, своя копия adb.exe есть у Android Studio, у Flutter и у сторонних утилит. Если запущены разные версии сервера, они могут мешать друг другу. Закройте лишние программы и оставьте один источник ADB.
⚠️ Внимание: не отключайте и не удаляйте системные драйверы «наугад» в Диспетчере устройств. Перед любыми изменениями запомните исходное состояние, чтобы при необходимости вернуть всё обратно.
Проблемы с эмулятором
Ошибка возникает и тогда, когда вы работаете не с физическим устройством, а с эмулятором. В этом случае проверьте следующее.
Во-первых, убедитесь, что эмулятор вообще создан: в Android Studio откройте Device Manager и посмотрите список виртуальных устройств. Если список пуст, создайте новое устройство, выбрав образ системы. Во-вторых, запустите эмулятор вручную и дождитесь полной загрузки — команда flutter run не всегда стартует эмулятор автоматически.
Эмулятор запускается, но не виден в adb
Проверьте, что в системе включена виртуализация (в Windows — компоненты Hyper-V или платформа гипервизора, в зависимости от конфигурации). Также убедитесь, что эмулятор и ADB относятся к одной установке Android SDK: если SDK обновлялся или переустанавливался, пути могли разойтись. Выполните adb devices после полной загрузки эмулятора — он должен появиться в списке как emulator-5554 или с похожим именем.
Для проверки корректности всей цепочки инструментов Flutter-разработчику полезно выполнить flutter doctor — утилита покажет, какие компоненты настроены, а какие требуют внимания.
Частые вопросы
adb devices показывает устройство как unauthorized — что делать?
На экране смартфона должен быть запрос «Разрешить отладку по USB?». Разблокируйте телефон, отключите и снова подключите кабель, затем подтвердите запрос. Если окно не появляется, отзовите авторизации в разделе разработчика (пункт вроде «Отменить авторизацию отладки по USB») и подключите устройство заново.
Телефон виден как устройство для передачи файлов, но ADB его не видит. Почему?
Это типичный признак того, что установлен только MTP-драйвер, а ADB-драйвер отсутствует. Установите драйвер от производителя или Google USB Driver, затем проверьте Диспетчер устройств и повторите команду adb devices.
Ошибка возникает только в Flutter, а adb devices устройство видит. В чём дело?
Возможно, Flutter использует другую копию ADB или не знает путь к SDK. Выполните flutter doctor и проверьте, что переменная окружения с путём к Android SDK настроена. Перезапуск терминала и IDE после изменения переменных окружения обязателен.
Поможет ли перезагрузка телефона и компьютера?
Да, это рабочий шаг, особенно после установки драйверов и изменения настроек разработчика. Перезагрузка сбрасывает зависшие состояния ADB-сервера и USB-стека. Делайте её после выполнения основных проверок, а не вместо них.
Можно ли отлаживать приложение без кабеля?
На современных версиях Android предусмотрена беспроводная отладка (пункт в меню разработчика), если она поддерживается вашей версией системы. Устройство и компьютер должны быть в одной сети, а сопряжение выполняется по коду из настроек. Точные шаги зависят от версии Android — сверяйтесь с документацией.