Ошибка «adb.exe unknown command device»: причины и пошаговое решение

Ошибка 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 вашей версии, а не со статьями в сети — набор команд меняется от версии к версии.

📊 С чем вы столкнулись при работе с ADB?
Опечатка в команде (unknown command)
Пустой список устройств
Устройство offline или unauthorized
adb не распознаётся системой

Проверка версии и целостности platform-tools

Если синтаксис заведомо верный, а ошибка повторяется, проверьте саму утилиту. Выполните команду:

adb version

Ответ покажет номер версии Android Debug Bridge и путь к исполняемому файлу. Если вместо этого система сообщает, что команда не найдена, проблема не в синтаксисе, а в отсутствии adb.exe в пути — тогда нужно либо перейти в папку platform-tools командой cd, либо добавить её в переменную окружения PATH.

⚠️ Внимание: скачивайте platform-tools только с официального сайта Android Developers. Сторонние «сборки ADB» нередко содержат устаревшие или модифицированные версии, поведение которых может отличаться от документации.

Признак повреждённого или неполного пакета — ошибки при запуске любых команд, включая adb version. В таком случае надёжнее удалить папку и распаковать свежий архив заново, чем искать отдельные недостающие файлы.

Пошаговая инструкция устранения

Действуйте последовательно, от простого к сложному. Каждый шаг завершайте повторным вводом adb devices, чтобы зафиксировать результат.

☑️ Порядок устранения ошибки unknown command

Выполнено: 0 / 5

Если после исправления синтаксиса команда принимается, но список устройств пуст, проблема уже в подключении. Проверьте, что на смартфоне включена отладка по USB в разделе «Для разработчиков», кабель поддерживает передачу данных (некоторые кабели — только для зарядки), а на экране телефона подтверждён запрос на разрешение отладки с этого компьютера.

Когда устройство отображается со статусом unauthorized или offline, помогает перезапуск сервера ADB:

adb kill-server

adb start-server

adb devices

После перезапуска разблокируйте смартфон и дождитесь диалога авторизации — без подтверждения на экране устройство в списке появится не как рабочее.

Сравнение похожих ошибок ADB

Чтобы не путать unknown command с другими сбоями, сверьтесь с таблицей типичных сообщений.

СообщениеЧто означаетГде искать причину
unknown command deviceADB не знает такой подкомандыСинтаксис, опечатка, версия утилиты
'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.