Команда ADB не найдена, однако существует в текущем расположении: как исправить

Ошибка «команда adb не найдена, однако существует в текущем расположении» появляется в PowerShell при попытке запустить adb devices из папки platform-tools — файл adb.exe лежит рядом, но оболочка отказывается его выполнять. Причина не в повреждённом файле и не в отсутствии драйверов: PowerShell по соображениям безопасности не ищет исполняемые файлы в текущем каталоге, если путь не указан явно.

Это принципиальное отличие от классической командной строки cmd.exe, где программа из текущей папки запускается просто по имени. Ниже разберём, почему так происходит, и покажем несколько рабочих способов запустить ADB — от быстрого одноразового до постоянного через переменную PATH.

Почему PowerShell не видит adb.exe в текущей папке

PowerShell унаследовал модель безопасности Unix-оболочек: текущий каталог не входит в список мест, где система ищет команды. Это защищает от ситуации, когда вредоносный файл с именем популярной команды, случайно оказавшийся в папке, запускается вместо настоящей системной утилиты.

Поэтому оболочка честно сообщает: файл найден, но для запуска нужно указать его расположение явно. Сам текст подсказки обычно выглядит так:

Предложение 3 [Общие]: Команда adb не найдена, однако существует в текущем расположении.

По умолчанию оболочка Windows PowerShell не загружает команды из текущего расположения.

Если вы доверяете этой команде, введите вместо нее ".\adb".

Обратите внимание: PowerShell сам подсказывает решение в тексте ошибки. Проблема лишь в том, что многие инструкции по прошивке и отладке написаны под cmd или Linux-терминал, где префикс не требуется.

Быстрое решение: запуск через точку и обратный слэш

Самый простой способ — добавить перед именем команды префикс .\, который буквально означает «из текущей папки». Вместо adb devices введите:

.\adb devices

То же правило действует для любых подкоманд и для fastboot: .\adb reboot bootloader, .\fastboot devices и так далее. Префикс нужно ставить при каждом запуске, пока вы работаете в этой сессии PowerShell.

  • 🔹 .\adb devices — проверка подключения устройства
  • 🔹 .\adb shell — вход в консоль смартфона
  • 🔹 .\fastboot flashing unlock — команды fastboot тоже требуют префикса
  • 🔹 .\adb install app.apk — установка APK из текущей папки
⚠️ Внимание: префикс .\ работает только если вы действительно находитесь в папке с adb.exe. Проверить текущий каталог можно командой pwd, а список файлов — dir. Если adb.exe в выводе отсутствует, вы не в той папке.

Альтернатива: запуск через классическую командную строку

Если не хочется каждый раз печатать префикс, откройте в папке platform-tools классический cmd.exe вместо PowerShell. В нём команда adb devices работает без всяких дополнений, потому что cmd по умолчанию ищет исполняемые файлы в текущем каталоге.

Есть два удобных способа открыть cmd в нужной папке. Первый — ввести cmd в адресной строке Проводника, находясь внутри папки platform-tools, и нажать Enter. Второй — из уже открытого PowerShell просто выполнить команду cmd: запустится классическая оболочка в том же каталоге.

📊 В какой оболочке вы запускаете ADB?
PowerShell
Классический cmd
Windows Terminal
Терминал в Linux/macOS

Постоянное решение: добавление platform-tools в PATH

Если вы работаете с ADB регулярно, удобнее один раз прописать путь к папке в системную переменную PATH. Тогда команда adb будет запускаться из любого каталога и в любой оболочке — без префиксов и переходов.

Общий порядок действий в Windows 10 и 11 выглядит так. Откройте свойства системы (можно через поиск по фразе «Изменение системных переменных среды»), нажмите «Переменные среды», найдите в списке пользовательских переменных Path и добавьте туда полный путь к папке platform-tools, например C:\platform-tools. После сохранения закройте и заново откройте окно терминала — переменные подхватываются только при старте новой сессии.

☑️ Настройка PATH для ADB

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

Проверка результата проста: в новом окне PowerShell или cmd выполните adb version из любой папки. Если выводится номер версии Android Debug Bridge — настройка завершена. Если снова «не найдена», перепроверьте, что путь добавлен без опечаток и указывает именно на папку, где лежит adb.exe, а не на сам файл.

Сравнение способов запуска ADB

Каждый из методов решает задачу, но подходит для разных сценариев. Сводная таблица поможет выбрать:

СпособКомандаКогда подходитНедостаток
Префикс в PowerShell.\adb devicesРазовые операцииПрефикс при каждом запуске
Классический cmdadb devicesРабота строго из папки platform-toolsНужно открывать cmd в нужном каталоге
Полный путь к файлуC:\platform-tools\adb.exe devicesСкрипты и редкие запускиДлинная команда
PATH в системеadb devices откуда угодноПостоянная работа с ADBТребует одноразовой настройки

Если ADB запускается, но не видит устройство

После того как команда наконец выполняется, нередко выясняется, что adb devices показывает пустой список или статус unauthorized. Это уже другая группа причин, и она не связана с PowerShell.

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

  • 🔌 Попробуйте другой USB-кабель: часть кабелей передаёт только питание без данных
  • 🔌 Переключите кабель в другой порт, желательно напрямую в ПК, без хаба
  • 🔌 Проверьте в Диспетчере устройств, нет ли неизвестного устройства — возможно, нужен USB-драйвер от производителя смартфона
  • 🔌 Перезапустите сервер командой .\adb kill-server, затем .\adb start-server
⚠️ Внимание: скачивайте platform-tools только с официального сайта Android Developers. Сторонние сборки ADB могут содержать устаревшую или модифицированную версию утилиты, что создаёт и проблемы совместимости, и риски безопасности.
Как проверить, что adb.exe настоящий

В папке platform-tools рядом с adb.exe должны лежать файлы AdbWinApi.dll и AdbWinUsbApi.dll — без них утилита обычно не запускается вовсе. Также можно открыть свойства файла и посмотреть цифровую подпись и версию продукта.

Та же ошибка в Linux и macOS

В терминалах Linux и macOS действует то же правило, что и в PowerShell: текущий каталог не входит в PATH. Поэтому из папки platform-tools команда тоже запускается с префиксом — только слэш прямой: ./adb devices.

Дополнительный нюанс Unix-систем — права на исполнение. Если файл скачан и распакован, но не запускается даже с префиксом, проверьте атрибуты командой ls -l adb и при необходимости добавьте право исполнения: chmod +x adb. Для постоянной работы путь к platform-tools добавляется в PATH через конфигурационный файл вашей оболочки (например, ~/.bashrc или ~/.zshrc) — синтаксис зависит от используемого shell.

⚠️ Внимание: команды fastboot flashing unlock и подобные, изменяющие состояние загрузчика, стирают данные на устройстве и могут повлиять на гарантию. Выполняйте их, только если понимаете последствия и следуете официальной инструкции для вашей модели.

Частые вопросы

Почему в инструкции написано просто adb, а у меня ошибка?

Большинство инструкций пишутся под cmd, Linux или под систему, где platform-tools уже добавлен в PATH. В PowerShell без настройки PATH требуется префикс .\ — это особенность оболочки, а не ошибка в инструкции.

Можно ли обойтись без добавления в PATH?

Да. Префикс .\ в PowerShell или работа через cmd полностью решают задачу. PATH нужен только для удобства при частом использовании из разных папок.

Я добавил путь в PATH, но adb всё равно не находится. Что проверить?

Убедитесь, что после сохранения переменной вы открыли новое окно терминала — старые сессии не видят изменений. Также проверьте, что в Path добавлена папка, содержащая adb.exe, без лишних пробелов и с правильными слэшами.

Работает ли префикс .\ в Windows Terminal?

Windows Terminal — это контейнер для оболочек. Если внутри открыт PowerShell, правила те же: нужен .\adb. Если открыта вкладка с cmd — префикс не требуется.

Ошибка появляется, хотя раньше всё работало. В чём дело?

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