Что означает ошибка ADB
ADB (Android Debug Bridge) — это утилита для связи компьютера с Android-устройством. Ошибка ADB возникает, когда консоль не может подключиться к устройству или серверу отладки. Типичные сообщения:
error: no devices/emulators foundunauthorizedadb server is out of date. killing...cannot connect to daemon at tcp:5037: cannot connect to 127.0.0.1:5037: Connection refusedinsufficient permissions for device
Ошибка появляется при подключении по USB, по Wi-Fi или при запуске команд отладки и сборки из IDE.
Причины возникновения
- Повреждён или устаревший пакет
platform-toolsс ADB. - Отсутствующие или некорректные драйверы USB для устройства (чаще на Windows).
- Не подтверждён отладочный доступ на экране телефона или отозванный ключ RSA.
- Занятый порт 5037 (используется другим процессом, например, старым ADB или эмулятором).
- Неверный режим USB на устройстве (только зарядка).
- Недостаточные права доступа к USB-устройствам (в Linux — отсутствие правил udev или членства в группе).
- Блокировка антивирусом или фаерволом порта/процесса ADB.
Способы решения
Способ 1: Перезапуск ADB-сервера
Остановите и запустите сервер, чтобы сбросить его состояние и освободить порт:
adb kill-server
adb start-server
adb devices
После старта проверьте вывод adb devices. Если устройство всё ещё не видно, переходите к следующему шагу.
Способ 2: Подтверждение отладки и смена режима USB
На устройстве:
- Отключите и снова подключите кабель.
- В панели уведомлений выберите режим USB — «Передача файлов» или «MIDI/PTP».
- Убедитесь, что в Настройки → Для разработчиков включена Отладка по USB.
- При появлении диалога «Разрешить отладку?» нажмите Разрешить и поставьте галку «Всегда разрешать».
На компьютере:
adb devices
Если статус изменился с unauthorized на device — проблема решена.
Способ 3: Устранение проблем с драйверами (Windows)
- Откройте Диспетчер устройств и найдите устройство (может отображаться с жёлтым значком).
- Обновите драйвер, указав путь к
extras/google/usb_driverиз Android SDK, или установите официальный драйвер производителя. - Для некоторых устройств (Xiaomi, Huawei и др.) требуются фирменные драйверы ADB — скачайте и установите их.
- Переподключите устройство и повторите
adb devices.
Способ 4: Обновление platform-tools и переменных среды
Устаревшие adb часто не видят новые устройства или вызывают ошибку версии сервера.
- Через Android Studio: Tools → SDK Manager → SDK Tools → Android SDK Platform-Tools (обновить).
- Вручную: замените папку
platform-toolsна актуальную версию с developer.android.com.
Убедитесь, что в PATH указан правильный путь к platform-tools, и перезапустите терминал:
adb version
Вывод должен показать актуальную версию (например, 34.0.4+).
Способ 5: Настройка прав доступа в Linux (правила udev)
Если вы видите insufficient permissions for device, добавьте правило udev. Пример для распространённых устройств:
# Создайте файл правил, например /etc/udev/rules.d/51-android.rules
# Замените VENDORID на ID вашего производителя (например, 18d1 для Google)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
Перезагрузите правила и добавьте пользователя в группу:
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo usermod -aG plugdev $USER
Перелогиньтесь или перезагрузитесь, затем проверьте доступ:
adb devices
Профилактика
- Не отключайте устройство во время активной отладки — это может отозвать ключи.
- Регулярно обновляйте
platform-toolsи драйверы производителей. - Используйте качественные USB-каблы и избегайте удлинителей для отладки.
- Добавляйте исключения для
adbв антивирусах и фаерволах, если они блокируют порт 5037. - На Linux поддерживайте актуальные правила udev для новых устройств.