Ошибка adb.exe unknown command device появляется в командной строке, когда утилита ADB получает команду, которой не существует в её синтаксисе — чаще всего из-за опечатки в слове devices, лишнего пробела или неверного порядка аргументов. Сама по себе эта ошибка не означает неисправность смартфона или драйвера: она говорит лишь о том, что Android Debug Bridge не смог распарсить введённую строку.
Разберём, почему терминал выдаёт unknown command, чем эта ошибка отличается от ситуации «устройство не найдено», и как пошагово добиться корректного ответа от ADB. Инструкция универсальна для Windows 10 и 11, поскольку синтаксис ADB не привязан к конкретной модели смартфона.
Что означает ошибка unknown command device
Утилита adb.exe имеет строгий набор встроенных команд: devices, install, push, pull, shell, reboot и другие. Когда вы вводите что-то вне этого списка — например, adb device в единственном числе или adb devise с опечаткой — интерпретатор отвечает unknown command, потому что такой подкоманды просто не существует.
Важно отличать эту ошибку от двух похожих ситуаций. Первая — сообщение 'adb' is not recognized (или аналог на русском), которое означает, что система вообще не находит файл adb.exe. Вторая — пустой список после корректной команды adb devices: здесь команда распознана, но смартфон не подключён или не авторизован.
Основные причины появления ошибки
На практике к ответу unknown command device приводит ограниченный набор причин. Все они связаны с тем, как именно набрана строка в терминале.
- ⌨️ Команда набрана в единственном числе —
adb deviceвместо правильногоadb devices. - 🔀 Перепутан порядок аргументов, например
adb device listвместоadb devices. - 📋 Команда скопирована из источника с «невидимыми» символами или нестандартными кавычками и дефисами.
- 🌐 Используются устаревшие или выдуманные варианты синтаксиса из неофициальных инструкций.
- 📦 Установлена сильно устаревшая версия platform-tools, не знающая новых подкоманд.
Отдельный случай — кириллица в пути или в самой команде. Если терминал работает в кодировке, где часть символов искажается, ADB может получить «битую» строку и честно сообщить о неизвестной команде, хотя визуально всё выглядит правильно.
Проверка правильного синтаксиса
Начните с базовой проверки. Откройте командную строку в папке, где лежит adb.exe (или убедитесь, что путь добавлен в переменную PATH), и введите команду списка устройств в точности так:
adb devices
Обратите внимание: слово devices пишется во множественном числе, между adb и devices — ровно один пробел, никаких дополнительных слов не требуется. Если команда принята, в ответ вы получите строку List of devices attached и либо серийный номер подключённого аппарата, либо пустой список.
Проверить, какие команды вообще поддерживает ваша версия утилиты, можно встроенной справкой:
adb help
Если неизвестна конкретная подкоманда, сверяйте её написание именно с выводом adb help вашей версии, а не со статьями в сети — набор команд меняется от версии к версии.
Проверка версии и целостности platform-tools
Если синтаксис заведомо верный, а ошибка повторяется, проверьте саму утилиту. Выполните команду:
adb version
Ответ покажет номер версии Android Debug Bridge и путь к исполняемому файлу. Если вместо этого система сообщает, что команда не найдена, проблема не в синтаксисе, а в отсутствии adb.exe в пути — тогда нужно либо перейти в папку platform-tools командой cd, либо добавить её в переменную окружения PATH.
⚠️ Внимание: скачивайте platform-tools только с официального сайта Android Developers. Сторонние «сборки ADB» нередко содержат устаревшие или модифицированные версии, поведение которых может отличаться от документации.
Признак повреждённого или неполного пакета — ошибки при запуске любых команд, включая adb version. В таком случае надёжнее удалить папку и распаковать свежий архив заново, чем искать отдельные недостающие файлы.
Пошаговая инструкция устранения
Действуйте последовательно, от простого к сложному. Каждый шаг завершайте повторным вводом adb devices, чтобы зафиксировать результат.
☑️ Порядок устранения ошибки unknown command
Если после исправления синтаксиса команда принимается, но список устройств пуст, проблема уже в подключении. Проверьте, что на смартфоне включена отладка по USB в разделе «Для разработчиков», кабель поддерживает передачу данных (некоторые кабели — только для зарядки), а на экране телефона подтверждён запрос на разрешение отладки с этого компьютера.
Когда устройство отображается со статусом unauthorized или offline, помогает перезапуск сервера ADB:
adb kill-server
adb start-server
adb devices
После перезапуска разблокируйте смартфон и дождитесь диалога авторизации — без подтверждения на экране устройство в списке появится не как рабочее.
Сравнение похожих ошибок ADB
Чтобы не путать unknown command с другими сбоями, сверьтесь с таблицей типичных сообщений.
| Сообщение | Что означает | Где искать причину |
|---|---|---|
| unknown command device | ADB не знает такой подкоманды | Синтаксис, опечатка, версия утилиты |
| 'adb' is not recognized | Система не находит adb.exe | Переменная PATH, папка platform-tools |
| Пустой список после adb devices | Команда верна, устройств нет | Кабель, драйверы, отладка по USB |
| unauthorized | Нет подтверждения на смартфоне | Диалог разрешения отладки на экране |
| offline | Соединение установлено, но нестабильно | Перезапуск сервера, кабель, порт USB |
⚠️ Внимание: сообщениеno devices/emulators foundпри выполнении команд вродеadb installилиadb shell— это не unknown command. Здесь синтаксис верен, но ADB не видит ни одного авторизованного устройства. Лечится проверкой подключения, а не правкой команды.
Когда проблема в драйверах и подключении
Драйверы не вызывают ошибку unknown command напрямую, но они становятся следующим шагом диагностики, когда синтаксис исправлен. В Windows корректность установки проверяется через Диспетчер устройств: подключённый смартфон с включённой отладкой должен отображаться как устройство ADB-интерфейса без жёлтого восклицательного знака.
Если аппарат определяется как «Неизвестное устройство» или только как «Переносное устройство (MTP)», возможные действия таковы:
- 🔌 Смените USB-порт, предпочтительно на разъём непосредственно на материнской плате, без хабов.
- 🧷 Попробуйте другой кабель — повреждённый или «зарядный» кабель не даст data-соединения.
- 💾 Установите драйвер от производителя смартфона либо стандартный Google USB Driver, если аппарат его поддерживает.
- 🔁 Перезагрузите и смартфон, и ПК после установки драйвера, затем повторите
adb devices.
Точный набор драйверов зависит от бренда устройства, поэтому при затруднениях сверяйтесь с документацией производителя конкретной модели — универсального «драйвера для всех Android» не существует.
Почему иногда помогает смена кодировки терминала
В русскоязычной Windows консоль может работать в кодировке CP866, из-за чего некоторые символы при вставке искажаются. Команда chcp 65001 переключает окно на UTF-8. Это не лечит опечатки, но исключает «невидимую» порчу строки при копировании команд из интернета.
⚠️ Внимание: командыadb shellс правами на изменение системных разделов, а также прошивка черезfastboot— потенциально рискованные операции. Если ваша цель — просто устранить unknown command и увидеть устройство, в такие команды углубляться не нужно.
FAQ: частые вопросы
Почему adb device без буквы s выдаёт ошибку?
В синтаксисе ADB существует только подкоманда devices во множественном числе. Вариант adb device не предусмотрен, поэтому утилита отвечает unknown command. Это самая частая причина ошибки.
Unknown command — это значит, что сломался смартфон?
Нет. Эта ошибка возникает на стороне компьютера ещё до любого обращения к телефону. Смартфон здесь вообще не участвует — исправлять нужно написание команды или версию утилиты.
Команда верная, но список устройств пуст. Что делать?
Проверьте включённую отладку по USB в настройках разработчика, подтвердите диалог авторизации на экране смартфона, смените кабель и порт, перезапустите сервер командами adb kill-server и adb start-server.
Нужно ли переустанавливать ADB при ошибке unknown command?
Обычно нет — сначала исправьте синтаксис. Переустановка platform-tools оправдана, только если ошибка возникает даже на гарантированно верных командах вроде adb version, что указывает на повреждённый или устаревший пакет.
Работает ли это решение в PowerShell и Windows Terminal?
Да, синтаксис ADB одинаков в cmd, PowerShell и Windows Terminal. Разница лишь в том, что в PowerShell для запуска из текущей папки может потребоваться префикс .\adb devices.