Ошибка system/bin/sh: adb: inaccessible or not found — одна из самых распространённых проблем при работе с Android Debug Bridge (ADB) на устройствах под управлением Android. Она возникает, когда система не может найти или запустить бинарный файл adb в стандартном расположении, несмотря на то, что команды вводятся правильно. Чаще всего с этой ошибкой сталкиваются разработчики, энтузиасты кастомизации и пользователи, пытающиеся получить root-доступ или прошить кастомное ПО.
Причины могут варьироваться от банальных (неправильно установленные драйверы) до сложных (повреждённая прошивка или отсутствие прав доступа). В этой статье мы разберём все возможные сценарии, почему возникает ошибка, и предложим универсальные решения, которые работают на 90% устройств, включая смартфоны Samsung, Xiaomi, Google Pixel и другие. Особое внимание уделим нюансам для разных версий Android (от Android 7 Nougat до Android 14).
Что означает ошибка «adb: inaccessible or not found»?
Сообщение system/bin/sh: adb: inaccessible or not found указывает на то, что оболочка sh (которая обрабатывает команды в Android) не может найти или выполнить команду adb. Это не означает, что ADB-сервер на вашем компьютере не работает — проблема кроется именно на стороне устройства.
Вот ключевые причины, почему это происходит:
- 🔧 Отсутствие бинарного файла
adbв/system/bin/или/system/xbin/— это может быть связано с кастомной прошивкой, где разработчики удалили ненужные системные утилиты. - 🔒 Недостаточные права доступа — даже если файл существует, у него могут быть неправильные разрешения (например,
rwxr-x---вместоrwxr-xr-x). - 📱 Повреждённая прошивка — после неудачного обновления или ручного вмешательства в системные файлы.
- 🖥️ Конфликт версий ADB — если на устройстве установлена устаревшая версия
adbd(демона ADB), а на ПК — новая.
Интересно, что на некоторых устройствах (например, Huawei или OnePlus с заблокированным загрузчиком) эта ошибка может появляться даже при корректной работе ADB, если не выполнены дополнительные шаги разблокировки. Также ошибка характерна для Android TV-устройств, где ADB часто отключён по умолчанию.
- Разработка приложений
- Установка кастомных прошивок
- Отладка устройства
- Восстановление данных
- Другое
Проверка базовых условий перед устранением ошибки
Прежде чем погружаться в сложные манипуляции, убедитесь, что выполнены все предварительные условия:
- ADB включён на устройстве: перейдите в
Настройки → О телефоне → Номер сборки(нажмите 7 раз для активации режима разработчика), затем вНастройки → Система → Для разработчиков → Отладка по USB. - Драйверы установлены на ПК: для Windows скачайте Google USB Driver или драйверы от производителя (например, Samsung USB Driver). На Linux/macOS обычно достаточно пакета
android-tools-adb. - Устройство определяется в
adb devices: если список пуст, проблема на стороне подключения, а не самой команды.
Если на этапе adb devices вы видите статус unauthorized, подтвердите отладку на экране устройства. Если статус offline — перезапустите ADB-сервер:
adb kill-server
adb start-server
☑️ Подготовка к диагностике ADB
Способ 1: Проверка наличия файла adb на устройстве
Первое, что нужно сделать — убедиться, что бинарный файл adb вообще существует в системе. Для этого подключитесь к устройству через adb shell и выполните:
ls -l /system/bin/adb
ls -l /system/xbin/adb
Если файл отсутствует, вы увидите сообщение No such file or directory. В этом случае есть два варианта:
- 🔄 Восстановить файл из стоковой прошивки — скачайте официальную прошивку для вашей модели и извлеките
adbизsystem.img. - 📦 Установить BusyBox — это набор утилит, включающий
adb. Установите через Magisk или TWRP.
Если файл существует, но недоступен, проверьте его разрешения:
ls -l /system/bin/adb | awk '{print $1}'
Оптимальные права: -rwxr-xr-x. Если они другие, измените их:
adb shell
su
chmod 755 /system/bin/adb
На некоторых прошивках (например, LineageOS) файл adb может находиться в /vendor/bin/. Проверьте и этот путь.
Способ 2: Переустановка ADB на устройстве
Если файл adb повреждён или устарел, его можно заменить вручную. Для этого:
- Скачайте актуальную версию
adbdдля вашей архитектуры (arm, arm64, x86) с официального репозитория Android или из прошивки Pixel Experience. - Перенесите файл на устройство:
adb push adbd /sdcard/adb shell
su
mount -o rw,remount /system
cp /sdcard/adbd /system/bin/adb
chmod 755 /system/bin/adb
- Перезагрузите устройство.
Для устройств с Android 10+ может потребоваться дополнительное монтирование раздела vendor:
mount -o rw,remount /vendor
Как узнать архитектуру процессора?
Выполните команду adb shell getprop ro.product.cpu.abi. Возможные значения: armeabi-v7a, arm64-v8a, x86 или x86_64.
Способ 3: Использование альтернативных методов подключения
Если стандартный adb недоступен, можно попробовать альтернативные способы подключения:
| Метод | Описание | Когда применять |
|---|---|---|
adb over Wi-Fi |
Подключение по сети без USB. Требует предварительной настройки через USB. | Если USB-порт неисправен или драйверы конфликтуют. |
fastboot |
Режим прошивки, доступный при загрузке в bootloader. |
Если устройство не загружается или ADB полностью недоступен. |
| Scrcpy (mirroring) | Просмотр экрана и управление без полного доступа к ADB. | Если нужны только базовые функции (например, копирование файлов). |
Termux |
Локальный терминал на устройстве с поддержкой ADB. | Если ПК недоступен, но нужен доступ к командам. |
Для подключения по Wi-Fi выполните:
adb tcpip 5555
adb connect IP_УСТРОЙСТВА:5555
На Android 11+ для беспроводного ADB требуется подтверждение на устройстве через уведомление. Без этого подключение будет блокироваться.
Способ 4: Восстановление системы через TWRP или fastboot
Если ошибка появилась после неудачного обновления или ручного изменения системных файлов, может помочь восстановление через кастомное рекавери (TWRP) или fastboot.
Инструкция для TWRP:
- Загрузитесь в TWRP (обычно
Power + Volume Up). - Перейдите в
Mount → Systemи отметьте галочку. - Подключитесь к ПК и скопируйте отсутствующие файлы (например,
adbиadbd) в/system/bin/. - Измените права:
chmod 755 /system/bin/adbchmod 755 /system/bin/adbd
- Перезагрузитесь.
Для fastboot (если устройство не загружается):
fastboot flash system system.img
fastboot reboot
Если у вас Samsung, вместо TWRP используйте OrangeFox Recovery — оно лучше работает с прошивками One UI.
Распространённые ошибки и как их избежать
При работе с ADB пользователи часто допускают типичные ошибки, которые ведут к inaccessible or not found:
⚠️ Внимание: Никогда не переименовывайте файлadb.exeна ПК вadbd.exe— это два разных бинарника.adbdдолжен находиться на устройстве, аadb— на компьютере.
- 🔌 Использование устаревших драйверов — например, драйверы для Android 8 могут не работать с Android 12. Всегда скачивайте актуальные версии с сайта производителя.
- 📂 Неправильный путь к
platform-tools— если вы запускаетеadbне из папки с утилитами, система может использовать устаревшую версию изPATH. - 🔄 Конфликт с антивирусами — некоторые антивирусы (например, Avast или Kaspersky) блокируют
adb.exeкак потенциально опасный файл.
Ещё одна частая проблема — несовместимость версий ADB. Например, если на устройстве установлен adbd 1.0.32, а на ПК — adb 1.0.41, команды могут не выполняться. Проверьте версии:
adb version
Как обновить ADB на ПК?
Скачайте последнюю версию Platform Tools с сайта Android Developers и замените файлы в папке установки.
FAQ: Частые вопросы по ошибке adb: inaccessible or not found
Можно ли исправить ошибку без root-прав?
Да, но возможности ограничены. Вы можете:
- Переустановить драйверы на ПК.
- Использовать
adb over Wi-Fi(если USB не работает). - Обновить прошивку через OTA (если ошибка вызвана повреждением системных файлов).
Однако для восстановления файла /system/bin/adb потребуются root или TWRP.
Почему ошибка появляется только на некоторых командах (например, adb pull)?
Это указывает на частичную неработоспособность ADB. Возможные причины:
- Файл
adbdна устройстве работает, но без полных прав (например, нет доступа к/data). - Конфликт с SELinux — проверьте статус командой
getenforce(должен бытьPermissiveдля полного доступа). - Ограничения производителя (например, Xiaomi блокирует
adb pullдля некоторых папок).
Как проверить, работает ли ADB на устройстве без подключения к ПК?
Установите приложение Termux из F-Droid и выполните:
pkg install android-tools
adb shell
Если команда выполняется — ADB работает локально, проблема на стороне ПК.
Может ли ошибка быть связана с заблокированным загрузчиком?
Да, на устройствах с заблокированным загрузчиком (например, Huawei, Sony) некоторые команды ADB могут быть ограничены. Попробуйте:
- Разблокировать загрузчик (инструкции зависят от модели).
- Использовать официальные утилиты производителя (например, Huawei HiSuite или Sony Emma).
Что делать, если ошибка появляется после обновления Android?
Обновление могло:
- Заменить
adbdна несовместимую версию. - Сбросить разрешения системных файлов.
- Активировать SELinux Enforcing, блокирующий доступ.
Решение: выполните сброс до заводских настроек или прошейте кастомное ядро с поддержкой ADB.