Ошибка 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?
  • Разработка приложений
  • Установка кастомных прошивок
  • Отладка устройства
  • Восстановление данных
  • Другое

Проверка базовых условий перед устранением ошибки

Прежде чем погружаться в сложные манипуляции, убедитесь, что выполнены все предварительные условия:

  1. ADB включён на устройстве: перейдите в Настройки → О телефоне → Номер сборки (нажмите 7 раз для активации режима разработчика), затем в Настройки → Система → Для разработчиков → Отладка по USB.
  2. Драйверы установлены на ПК: для Windows скачайте Google USB Driver или драйверы от производителя (например, Samsung USB Driver). На Linux/macOS обычно достаточно пакета android-tools-adb.
  3. Устройство определяется в adb devices: если список пуст, проблема на стороне подключения, а не самой команды.

Если на этапе adb devices вы видите статус unauthorized, подтвердите отладку на экране устройства. Если статус offline — перезапустите ADB-сервер:

adb kill-server

adb start-server

☑️ Подготовка к диагностике ADB

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

Способ 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 повреждён или устарел, его можно заменить вручную. Для этого:

  1. Скачайте актуальную версию adbd для вашей архитектуры (arm, arm64, x86) с официального репозитория Android или из прошивки Pixel Experience.
  2. Перенесите файл на устройство:
    adb push adbd /sdcard/
    

    adb shell

    su

    mount -o rw,remount /system

    cp /sdcard/adbd /system/bin/adb

    chmod 755 /system/bin/adb

  3. Перезагрузите устройство.

Для устройств с 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:

  1. Загрузитесь в TWRP (обычно Power + Volume Up).
  2. Перейдите в Mount → System и отметьте галочку.
  3. Подключитесь к ПК и скопируйте отсутствующие файлы (например, adb и adbd) в /system/bin/.
  4. Измените права:
    chmod 755 /system/bin/adb
    

    chmod 755 /system/bin/adbd

  5. Перезагрузитесь.

Для 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 могут быть ограничены. Попробуйте:

  1. Разблокировать загрузчик (инструкции зависят от модели).
  2. Использовать официальные утилиты производителя (например, Huawei HiSuite или Sony Emma).
Что делать, если ошибка появляется после обновления Android?

Обновление могло:

  • Заменить adbd на несовместимую версию.
  • Сбросить разрешения системных файлов.
  • Активировать SELinux Enforcing, блокирующий доступ.

Решение: выполните сброс до заводских настроек или прошейте кастомное ядро с поддержкой ADB.