Сообщение system/bin/sh: adb: not found появляется, когда команду adb пытаются выполнить внутри shell-окружения самого Android-устройства — например, через adb shell, эмулятор терминала на смартфоне или при работе по su в root-консоли. Интерпретатор sh ищет исполняемый файл adb в каталогах из переменной PATH (обычно /system/bin, /system/xbin), не находит его там и возвращает эту ошибку.
Ключевой момент, который нужно понять сразу: adb — это клиентская утилита для компьютера, а не команда внутри Android. Бинарник adb входит в состав Android SDK Platform-Tools и запускается на ПК (Windows, macOS, Linux). На самом устройстве работает только демон adbd, который принимает подключения, — утилиты командной строки adb в пользовательской прошивке обычно нет.
Почему возникает ошибка adb: not found
Причин несколько, и от сценария зависит способ решения. Чаще всего пользователь открывает терминал на телефоне (например, Termux или эмулятор терминала) и вводит adb devices, ожидая увидеть список устройств. Система отвечает not found, потому что исполняемого файла просто нет.
Вторая типичная ситуация — ошибка встречается на ПК в виде adb: command not found (Linux/macOS) или «adb не является внутренней или внешней командой» (Windows). Это уже другая формулировка, но суть та же: система не находит бинарник, потому что Platform-Tools не установлены или путь к ним не добавлен в PATH.
- 🔍 Команда введена в терминале на самом Android-устройстве, где adb отсутствует
- 💻 На ПК не установлен пакет Android SDK Platform-Tools
- 📂 Папка с adb не добавлена в переменную окружения
PATH - 🔧 Команда выполняется внутри
adb shellили root-сессии вместо обычной консоли ПК - 📦 Используется устаревшая или неполная сборка инструментов
Как отличить сценарий: устройство или компьютер
Посмотрите на приглашение командной строки. Если перед вводом стоит что-то вроде $ с именем устройства или вы предварительно выполнили adb shell, — вы уже внутри Android, и команда adb там работать не будет. Выйдите командой exit и повторите ввод в консоли ПК.
Если ошибка возникает в PowerShell, cmd или терминале Linux сразу после ввода — проблема в установке или настройке PATH. Проверить это просто: введите adb version. Если система снова отвечает, что команда не найдена, переходите к установке Platform-Tools.
Установка ADB на компьютер
Правильный способ — скачать официальный архив SDK Platform-Tools с сайта для разработчиков Android. Это единственный источник, которому можно доверять: сторонние «установщики ADB» нередко содержат устаревшие версии или лишние компоненты.
После скачивания распакуйте архив в удобную папку, например C:\platform-tools на Windows или ~/platform-tools на Linux/macOS. Дальше есть два варианта: каждый раз запускать adb из этой папки или добавить её в PATH для удобства.
cd C:\platform-tools
adb version
adb devices
На Linux пакет также доступен в репозиториях многих дистрибутивов (например, adb или android-tools — точное имя пакета зависит от дистрибутива, сверьтесь с его документацией). Установка через пакетный менеджер автоматически прописывает путь.
☑️ Проверка установки ADB
Добавление ADB в переменную PATH
Чтобы не переходить каждый раз в папку с инструментами, добавьте её в системную переменную PATH. На Windows это делается через «Система → Дополнительные параметры системы → Переменные среды»: найдите переменную Path, добавьте туда полный путь к папке platform-tools и перезапустите терминал.
На Linux и macOS путь прописывается в файле конфигурации оболочки — ~/.bashrc, ~/.zshrc или аналогичном, в зависимости от используемой оболочки:
export PATH="$PATH:$HOME/platform-tools"
После правки выполните source ~/.bashrc (или соответствующий файл) либо откройте новое окно терминала. Проверка — команда adb version должна отработать из любой директории.
⚠️ Внимание: после изменения переменных среды уже открытые окна терминала не подхватывают новые значения. Обязательно закройте и заново откройте консоль, иначе ошибка «command not found» сохранится, хотя настройка выполнена верно.
Что делать, если нужно выполнить adb с самого устройства
Иногда требуется управлeть одним Android-устройством с другого — без ПК. Это возможно, но не через штатный бинарник, которого нет в прошивке. Варианты:
- 📱 Termux с пакетом
android-tools— даёт настоящий adb-клиент на устройстве; подключение ко второму устройству идёт по Wi-Fi или через OTG-кабель - 🌐 Беспроводная отладка (на поддерживаемых версиях Android) — сопряжение устройств по сети через код pairing
- 💻 Всё же использовать компьютер — самый стабильный и предсказуемый вариант
Учтите, что беспроводная отладка и её точное расположение в настройках зависят от версии Android и оболочки производителя. Ищите пункт в разделе «Для разработчиков»; если его там нет — сверьтесь с документацией своей модели.
Как включить отладку по USB
Откройте «Настройки → О телефоне» и несколько раз нажмите на «Номер сборки», пока не появится сообщение о разблокировке режима разработчика. Затем в разделе «Для разработчиков» активируйте «Отладка по USB». Точные названия пунктов могут отличаться в зависимости от оболочки (MIUI, One UI, ColorOS и др.).
Типичные ошибки после установки
Даже когда adb запускается, могут возникнуть сопутствующие проблемы. Ниже — частые сообщения и их значение:
| Сообщение | Вероятная причина | Что проверить |
|---|---|---|
adb: not found | Нет бинарника или нет пути в PATH | Установку Platform-Tools и переменную PATH |
device unauthorized | Не подтверждён запрос на устройстве | Окно разрешения отладки на экране смартфона |
device offline | Сбой соединения или устаревший adb | Перезапуск adb kill-server, обновление tools |
Пустой список в adb devices | Отключена отладка, кабель или драйвер | Настройки разработчика, кабель, драйверы USB |
⚠️ Внимание: на Windows для некоторых устройств требуется отдельный USB-драйвер от производителя. Если смартфон не определяется даже при включённой отладке, установите драйвер с официального сайта вендора — без него adb устройство не увидит.
Если устройство видно, но со статусом unauthorized, — разблокируйте экран смартфона и подтвердите RSA-отпечаток компьютера во всплывающем диалоге. Отозвать старые разрешения можно пунктом «Отменить авторизацию отладки по USB» в настройках разработчика.
Проверка результата
Финальная проверка занимает меньше минуты. Выполните последовательно:
adb version
adb devices
Команда adb version должна вывести номер версии — это подтверждает, что бинарник найден и запускается. Команда adb devices должна показать серийный номер устройства со статусом device. Если обе проверки пройдены, ошибка system/bin/sh: adb: not found полностью устранена, и можно выполнять нужные команды.
Частые вопросы
Почему в Termux команда adb не работает сразу после установки?
В Termux adb появляется только после установки пакета android-tools командой pkg install android-tools. Без этого пакета бинарника в окружении нет, и shell отвечает «not found».
Можно ли запустить adb без компьютера вообще?
Да, через Termux с пакетом android-tools и беспроводную отладку, если её поддерживает ваша версия Android. Потребуется сопряжение по коду и подключение по сети. Стабильность такого способа ниже, чем при работе с ПК.
adb devices показывает пустой список — это та же ошибка?
Нет. Пустой список означает, что adb работает, но не видит устройство. Проверьте включённую отладку по USB, кабель (некоторые кабели передают только питание), драйверы и разрешение на экране смартфона.
Нужны ли root-права для работы adb?
Нет. ADB работает на стоковых устройствах без root — достаточно включённой отладки по USB. Root требуется лишь для отдельных команд внутри shell, затрагивающих системные разделы.
Ошибка появляется в скрипте, хотя вручную adb запускается. В чём дело?
Скорее всего, скрипт выполняется в окружении с другим PATH (например, через cron или планировщик задач). Укажите в скрипте полный путь к бинарнику adb — это устраняет зависимость от переменных окружения.