Что означает ошибка ADB
Android Debug Bridge (ADB) — это инструмент командной строки, который позволяет взаимодействовать с Android-устройством: устанавливать приложения, отлаживать, получать доступ к файловой системе и т.д. Ошибки ADB возникают, когда команда не может быть выполнена из-за проблем с подключением, правами, драйверами или конфигурацией.
Распространённые сообщения об ошибках:
error: device offline— устройство подключено, но не готово к командам.error: device unauthorized— компьютер не авторизован для отладки.error: no devices/emulators— ADB не обнаружил ни одного устройства.error: closed— соединение с устройством разорвано.error: protocol fault (no status)— проблема в протоколе обмена данными.
Эти ошибки могут появиться при выполнении любой команды adb, например adb devices, adb install, adb shell и других.
Причины возникновения
- Устройство не активировало режим отладки по USB — опция "Отладка по USB" в настройках разработчика отключена.
- Драйверы ADB не установлены или устарели — особенно актуально для Windows, где требуется драйвер
Android ADB Interface. - RSA-ключ не подтверждён — при первом подключении на устройстве должен появиться диалог с запросом разрешения отладки. Если нажать "Отклонить" или сбросить разрешения, устройство станет
unauthorized. - Проблемы с USB-кабелем или портом — кабель может быть зарядным (без линии данных) или порт неисправен.
- ADB сервер не запущен или конфликтует — фоновый процесс ADB может быть занят другой программой (Android Studio, эмулятор).
- Недостаточно прав доступа — на Linux/macOS требуется root или настройка правил udev для доступа к устройству.
- Устаревшая версия ADB — старый
adbможет не поддерживать новое устройство или версию Android. - Сетевые проблемы — при использовании ADB по Wi-Fi: устройство и компьютер в разных сетях, или порт 5555 закрыт.
Способы решения
Способ 1: Проверка режима отладки и подключения
Убедитесь, что на устройстве в Настройки → Для разработчиков включена опция Отладка по USB. При подключении через USB выберите режим передачи файлов (MTP) или фотокамеры (PTP), а не "Зарядка только". Проверьте, что устройство заряжается — это подтверждает физическое подключение. На Windows откройте Диспетчер устройств и найдите ваше устройство (обычно в разделе "Портативные устройства" или "Другие устройства"). Если есть жёлтый восклицательный знак, драйвер не установлен.
Способ 2: Перезапуск ADB сервера
Часто помогает простая перезагрузка ADB. В терминале или командной строке выполните:
adb kill-server
adb start-server
adb devices
Команда adb devices выведет список подключённых устройств. Если устройство отображается как device, проблема решена. Если статус offline или unauthorized, переходите к следующим способам.
Способ 3: Обновление драйверов (Windows) или настройка прав (Linux/macOS)
Для Windows:
- Откройте Диспетчер устройств (Win + X → Диспетчер устройств).
- Найдите устройство (может быть под "Портативные устройства", "Android" или с unrecognized device).
- Щёлкните правой кнопкой → Обновить драйвер → Выполнить поиск драйверов на этом компьютере → Выбрать драйвер из списка доступных драйверов.
- Выберите Android ADB Interface и нажмите "Далее".
- Если драйвера нет, установите их через ADB Driver Installer или в составе Android SDK Platform-Tools.
Для Linux:
- Убедитесь, что ваш пользователь добавлен в группу
plugdev:
(требуется перезаход в систему).sudo usermod -aG plugdev $LOGNAME - Создайте файл правил udev, например,
/etc/udev/rules.d/51-android.rules, с содержимым (подставьте свойidVendor):
СписокSUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"idVendorдля производителей: Google USB Driver. - Примените правила:
sudo udevadm control --reload-rules sudo udevadm trigger
Для macOS:
Обычно драйверы не требуются. Убедитесь, что adb имеет права на выполнение:
chmod +x /usr/local/bin/adb
Если adb не в PATH, укажите полный путь.
Способ 4: Подтверждение RSA-ключа
При первом подключении устройства к компьютеру на экране Android появится диалог: "Разрешить отладку по USB?". Нажмите "Разрешить" и отметьте "Всегда разрешать с этого компьютера". Если вы случайно нажали "Отклонить", отключите и снова подключите устройство. Если диалог не появляется, на устройстве в Настройки → Для разработчиков отключите и снова включите Отладка по USB. Также можно сбросить все разрешения: Отмена разрешения USB-отладки (Revoke USB debugging authorizations) и затем переподключить.
Способ 5: Обновление Android SDK Platform-Tools
Устаревшая версия ADB может не поддерживать новые устройства или версии Android. Скачайте последнюю версию Android SDK Platform-Tools с официального сайта. Распакуйте архив и замените старые файлы (adb, fastboot, systrace и др.) в папке, которая добавлена в переменную PATH (например, C:\platform-tools на Windows или /usr/local/bin на Linux/macOS). После замены перезапустите терминал и проверьте версию:
adb version
Должна отобразиться актуальная версия (например, Android Debug Bridge version 1.0.41).
Способ 6: Проверка кабеля и USB-порта
Используйте оригинальный USB-кабель, который поддерживает передачу данных (не только зарядку). Попробуйте другой кабель или USB-порт, предпочтительно USB 2.0 (чёрный), так как некоторые порты USB 3.0 (синие) могут вызывать проблемы. Подключите устройство напрямую к компьютеру, без USB-хабов. Проверьте устройство на другом компьютере, чтобы исключить проблему с самим устройством.
Способ 7: Запуск ADB с повышенными правами
На Windows запустите Командную строку или PowerShell от имени администратора (правый клик → "Запуск от имени администратора"). На Linux/macOS используйте sudo перед командой, например:
sudo adb devices
Однако постоянное использование sudo не рекомендуется — лучше настроить правила udev (см. Способ 3). Если после sudo устройство определяется, проблема в правах доступа.
Способ 8: Сброс ADB на устройстве
В настройках разработчика найдите пункт "Отмена разрешения USB-отладки" (Revoke USB debugging authorizations). Нажмите, затем переподключите устройство и подтвердите RSA-ключ заново. Этот шаг сбрасывает все ранее выданные разрешения для компьютеров.
Способ 9: Проверка на конфликты с другими программами
Закройте все программы, которые могут использовать ADB: Android Studio, Genymotion, другие эмуляторы, сторонние утилиты (например, SCANPY). Иногда фоновые службы (например, adb.exe от Android Studio) блокируют порт. После закрытия перезапустите ADB сервер (Способ 2). Если проблема остаётся, перезагрузите компьютер.
Способ 10: Использование ADB по Wi-Fi (если USB не работает)
Если USB-подключение не удаётся, попробуйте подключиться по сети. Убедитесь, что компьютер и устройство в одной Wi-Fi сети. На устройстве с установленным терминалом и root-правами выполните:
adb tcpip 5555
Затем найдите IP-адрес устройства (Настройки → О телефоне → Статус → IP-адрес) и подключитесь:
adb connect 192.168.1.100:5555
Замените 192.168.1.100 на ваш IP. Для этого требуется хотя бы одно успешное USB-подключение для авторизации RSA-ключа.
Профилактика
- Используйте качественный USB-кабель, поддерживающий передачу данных. Избегайте дешёвых зарядных кабелей.
- Регулярно обновляйте Android SDK Platform-Tools до последней версии через SDK Manager или с сайта Android Developer.
- При подключении нового компьютера всегда подтверждайте RSA-ключ на устройстве и отмечайте "Всегда разрешать".
- На Linux настройте правила udev один раз, чтобы не запрашивать root-права для каждой команды.
- Избегайте одновременного запуска нескольких экземпляров ADB (например, от Android Studio и отдельной командной строки). Перед запуском Android Studio убедитесь, что другие терминалы с ADB закрыты.
- Для беспроводного ADBAssign статический IP-адрес устройству в роутере, чтобы не искать его каждый раз.