Команда adb devices возвращает пустой список, терминал пишет «adb не является внутренней или внешней командой», а сервер отказывается стартовать — это три самых частых симптома, с которыми сталкиваются пользователи при запуске Android Debug Bridge на Windows. Причина почти всегда находится в одной из четырёх зон: отсутствующий путь в переменных среды, неустановленный драйвер устройства, занятый порт 5037 или повреждённый дистрибутив platform-tools.
Ниже разберём каждую причину отдельно и дадим безопасную последовательность диагностики: от простейших проверок, которые занимают пару минут, до более глубоких шагов. Начинать стоит с первого раздела и двигаться по порядку — в большинстве ситуаций проблема решается ещё до того, как понадобится переустановка.
Проверка установки и путей к platform-tools
Ошибка вида «adb не является внутренней или внешней командой» означает, что Windows просто не знает, где лежит исполняемый файл. Сама по себе утилита ADB распространяется в составе пакета SDK Platform-Tools от Google и не прописывается в систему автоматически — это нужно сделать вручную.
Порядок проверки выглядит так:
- 📁 Убедитесь, что архив platform-tools распакован в папку без кириллицы и пробелов в пути, например
C:\platform-tools. - ⚙️ Откройте Свойства системы → Дополнительно → Переменные среды и добавьте путь к папке в переменную
Path. - 🔄 Закройте и заново откройте командную строку — старые окна терминала не подхватывают обновлённые переменные.
- ✅ Выполните
adb version: если отображается номер версии, установка корректна.
Если переменные среды настраивать не хочется, есть обходной путь: откройте папку platform-tools в проводнике, зажмите Shift, щёлкните правой кнопкой по пустому месту и выберите запуск терминала в этой папке. Тогда команды будут работать без глобальной настройки, но только в рамках открытого окна.
Сервер ADB не стартует или зависает
Вторая типичная ситуация — команда распознаётся, но сервер не запускается либо сообщает о конфликте. ADB работает через фоновый процесс, который слушает порт 5037, и если этот порт уже занят другой программой, запуск сорвётся. Частыми «захватчиками» порта бывают эмуляторы Android, старые копии adb.exe от сторонних утилит и менеджеры смартфонов от производителей.
Для перезапуска сервера выполните последовательно:
adb kill-server
adb start-server
adb devices
Если после start-server появляется ошибка вида «cannot bind», найдите процесс, занявший порт. Это можно сделать командой netstat -ano | findstr 5037 в командной строке: в последнем столбце будет PID процесса, который затем отыскивается в диспетчере задач. Завершите конфликтующий процесс и повторите запуск сервера.
⚠️ Внимание: не завершайте незнакомые системные процессы вслепую. Сначала проверьте имя процесса по PID — если это не adb.exe и не явно связанная с Android программа, лучше разобраться, что это за приложение, прежде чем его закрывать.
Устройство не определяется: драйверы и отладка по USB
Когда сервер работает, но adb devices показывает пустой список, проблема почти всегда на стороне подключения. Здесь есть три обязательных условия, и отсутствие любого из них блокирует обнаружение.
Во-первых, на смартфоне должна быть включена отладка по USB. Она находится в разделе «Для разработчиков», который предварительно активируется многократным нажатием на пункт «Номер сборки» в разделе «О телефоне». Точные названия пунктов и их расположение отличаются у разных производителей, поэтому при расхождениях сверяйтесь с документацией своей модели.
Во-вторых, на ПК нужен корректный драйвер. Для многих устройств подходит стандартный Google USB Driver, но отдельные бренды требуют фирменных драйверов с сайта производителя. Проверить состояние можно в Диспетчере устройств: подключённый смартфон не должен отображаться с жёлтым восклицательным знаком.
В-третьих, кабель должен передавать данные, а не только заряжать. Недорогие «зарядные» кабели без линий данных — частая скрытая причина того, что устройство вообще не появляется в системе.
☑️ Быстрая диагностика подключения ADB
Ошибки unauthorized и offline
Иногда устройство в списке есть, но рядом стоит статус unauthorized. Это означает, что смартфон ждёт подтверждения доверия: на его экране должен появиться диалог с отпечатком RSA-ключа и кнопкой разрешения. Если диалог не появился, отключите и снова подключите кабель, а также проверьте, не заблокирован ли экран — на некоторых прошивках запрос приходит только на разблокированном устройстве.
Статус offline обычно указывает на рассинхронизацию версий: например, старый adb.exe из какой-нибудь сторонней утилиты конфликтует с актуальной прошивкой телефона. Помогает обновление platform-tools до свежей версии с официального сайта Android Developers и перезапуск сервера. Дополнительно можно отозвать авторизации отладки в настройках разработчика на смартфоне и пройти подтверждение заново.
Сравнение типичных ошибок и их решений
Сводная таблица поможет быстро сопоставить симптом с направлением поиска:
| Симптом | Вероятная причина | Первое действие |
|---|---|---|
| «adb не является командой» | Не прописан путь в Path | Добавить папку platform-tools в переменные среды |
| «cannot bind to 5037» | Порт занят другим процессом | Найти PID через netstat и завершить процесс |
| Пустой список devices | Драйвер или кабель | Проверить Диспетчер устройств, сменить кабель |
| Статус unauthorized | Не подтверждён RSA-ключ | Разблокировать телефон и принять запрос |
| Статус offline | Устаревшая версия ADB | Обновить platform-tools, перезапустить сервер |
Обратите внимание: одна и та же команда adb может давать разные симптомы в зависимости от того, какая именно копия adb.exe запускается. Если на компьютере установлены эмуляторы, среды разработки или утилиты прошивки, каждая из них может тащить собственную версию ADB. Команда where adb покажет все найденные копии — лишние стоит удалить или вынести из переменных среды.
Как проверить, какие копии ADB установлены в системе
Выполните в командной строке «where adb». Windows выведет все пути, по которым найден adb.exe, в порядке приоритета. Если список содержит несколько записей, оставьте одну актуальную версию platform-tools, а остальные пути уберите из переменной Path либо обновите встроенные копии в соответствующих программах.
Когда ничего не помогает
Если все шаги выше выполнены, а ADB по-прежнему не работает, остаются более радикальные, но всё ещё безопасные варианты. Полностью удалите папку platform-tools, скачайте свежий архив с официального сайта и распакуйте заново — повреждённые или неполные файлы дистрибутива встречаются чаще, чем кажется, особенно после прерванных загрузок.
Проверьте также антивирус и брандмауэр: некоторые защитные решения блокируют локальные соединения adb.exe, и сервер молча не стартует. Временное отключение защиты на время диагностики поможет подтвердить или исключить эту версию. Наконец, попробуйте другое устройство и другой ПК — так вы локализуете проблему: если на втором компьютере телефон определяется, копать нужно в сторону системы, а не смартфона.
⚠️ Внимание: не скачивайте ADB из неофициальных источников и «сборок» — в таких архивах встречаются устаревшие или модифицированные версии. Единственный надёжный источник platform-tools — официальный сайт Android Developers.
Часто задаваемые вопросы
Почему adb devices показывает пустой список, хотя телефон подключён?
Наиболее вероятные причины: не включена отладка по USB, отсутствует или некорректно установлен драйвер, либо кабель передаёт только питание. Проверьте Диспетчер устройств и попробуйте другой кабель и порт USB.
Что делать, если сервер ADB не запускается с ошибкой про порт?
Порт 5037 занят другим процессом. Найдите его командой netstat -ano | findstr 5037, определите программу по PID в диспетчере задач и завершите её, затем выполните adb start-server повторно.
Нужно ли устанавливать Android Studio, чтобы работал ADB?
Нет. Достаточно отдельного пакета SDK Platform-Tools, который распространяется независимо. Android Studio просто включает эти инструменты в свой состав.
Устройство отображается как unauthorized — это поломка?
Нет, это штатный механизм защиты. Разблокируйте смартфон и подтвердите запрос на доверие RSA-ключа, который появляется на экране при подключении. Если запрос не приходит, отзовите прежние авторизации в настройках разработчика и подключите устройство заново.
Может ли антивирус блокировать ADB?
Да, некоторые антивирусы и брандмауэры блокируют локальные соединения adb.exe. Для проверки временно отключите защиту и повторите запуск сервера; при подтверждении добавьте adb.exe в исключения.