Решение проблемОпубликовано: Обновлено: 5 мин чтения

adb unauthorized: устройство не авторизовано и другие ошибки adb

Что делать, если adb devices пишет unauthorized, offline или пустой список, а телефон «занят». Таблица симптомов и решений для USB, драйверов и WebUSB.

unauthorized в adb devices значит одно: телефон ещё не разрешил этому компьютеру отладку. Разблокируйте экран, дождитесь окна «Разрешить отладку по USB?», отметьте «Всегда разрешать с этого компьютера» и нажмите «Разрешить». Если окна нет, отзовите старые разрешения и переподключите кабель. Ниже разобраны и соседние ошибки: «устройство занято» (device busy), offline и пустой список устройств.

Начните с команды и посмотрите, что написано рядом с серийным номером:

adb devices

Таблица: симптом и решение

СимптомВероятная причинаЧто сделать
Device busy, ошибка «claim interface»USB-подключение держит другая программаЗакройте Android Studio, scrcpy и другие вкладки, выполните adb kill-server
unauthorizedТелефон не одобрил этот компьютерРазблокируйте экран, нажмите «Разрешить», отметьте «Всегда разрешать»
offlineЗависшее или полуоткрытое соединениеПереподключите кабель, переключите отладку по USB, adb kill-server
Пустой списокКабель только для зарядки или не тот режим USBВозьмите кабель с передачей данных, режим «Передача файлов»
Пустой список в WindowsНет драйвераУстановите USB-драйвер производителя
Пустой список в LinuxНет правил udevДобавьте правило udev для производителя и перезагрузите правила
Браузер не показывает телефон в окне USBНет разрешения WebUSB или устройство занятоЗакройте другие программы, переподключите, выберите устройство снова

«Unauthorized»: телефон не авторизовал компьютер

Статус unauthorized появляется, когда телефон не принял RSA-ключ этого компьютера. Пробуйте по порядку:

  1. Разблокируйте телефон и найдите окно «Разрешить отладку по USB?». Отметьте «Всегда разрешать с этого компьютера» и нажмите «Разрешить».
  2. Если окна нет, отключите и снова подключите кабель при разблокированном экране.
  3. Откройте «Настройки» › «Система» › «Для разработчиков» (путь зависит от прошивки) и нажмите «Отозвать доступ для отладки по USB». Подключите телефон снова и примите новый запрос.
  4. Выключите и снова включите «Отладку по USB».
  5. Выполните adb kill-server, затем снова adb devices.
adb kill-server
adb devices

Если и это не помогло, удалите ключи adb на компьютере: файлы adbkey и adbkey.pub в папке .android в домашнем каталоге пользователя (в Windows это C:\Users\<имя>\.android). При следующем запуске adb создаст новую пару, и телефон спросит разрешение заново. Заодно обновите platform-tools: очень старые версии adb плохо дружат с новыми версиями Android.

Если отладка ещё не включена, начните со статьи как включить отладку по USB.

Важно: окно запроса может прятаться за экраном блокировки или под шторкой уведомлений. Прежде чем решить, что его нет, включите экран и разблокируйте телефон.

Unauthorized в recovery

В стоковом recovery телефон тоже может показываться как unauthorized, и окна с запросом там не будет. Обычно это не ошибка: команды adb в recovery работают только в режиме sideload, который включается в меню recovery (пункт вроде Apply update from ADB).

Без компьютера: ADB Kit на самом телефоне

Окно «Разрешить отладку по USB?» относится к подключению компьютера по кабелю. Если вам нужен ADB на самом телефоне, приложение ADB Kit для Android подключается к adb телефона через «Отладку по Wi-Fi» (Android 11+): одно сопряжение по 6-значному коду, без ПК, кабеля и root, поэтому USB-запрос в этой схеме вообще не участвует. Нужна сеть Wi-Fi. Подробнее в статье ADB на Android без компьютера, а если сопряжение не проходит, см. ошибки сопряжения adb.

«Device busy»: USB-интерфейс занят другой программой

Подключение к телефону по USB одновременно может держать только одна программа. Вторая получит ошибку busy или «claim interface». Обычные виновники:

  • Android Studio или другая IDE со своим adb-сервером.
  • scrcpy или другая программа для трансляции экрана.
  • Другая вкладка браузера, уже подключённая к этому телефону.
  • Фоновый сервер adb, который захватил устройство первым.

Закройте лишние программы и вкладки и остановите фоновый сервер:

adb kill-server

Браузерному инструменту вроде рабочего пространства ADBKit нужен монопольный доступ, поэтому пока он подключён, держите adb-сервер остановленным. Запустить его снова можно командой adb start-server, а при следующей команде adb он стартует и сам.

«Offline»: подключено, но не отвечает

Устройство в статусе offline видно, но не отвечает. Обычно это зависшее соединение. Отключите кабель, выключите и включите отладку по USB, подключите снова и выполните adb kill-server. Используйте свежие platform-tools. Подробный разбор: adb device offline.

«No devices»: список пуст

Если список пустой, сначала проверьте физическую часть:

  • Кабель. Многие кабели умеют только заряжать. Возьмите проверенный кабель для передачи данных и порт прямо на компьютере, а не на хабе.
  • Режим USB. Опустите шторку, нажмите на уведомление USB и выберите «Передача файлов». В режиме «Только зарядка» некоторые телефоны не открывают ADB.
  • Windows. Может понадобиться USB-драйвер производителя. В «Диспетчере устройств» телефон тогда виден с жёлтым значком.
  • Linux. Обычный пользователь часто не может открыть устройство без правила udev для vendor ID телефона. Добавьте правило, выполните sudo udevadm control --reload-rules и переподключите телефон.
  • «Для разработчиков». Проверьте, что «Отладка по USB» всё ещё включена: некоторые телефоны выключают её после перезагрузки или обновления.

Все варианты собраны в статье adb не видит телефон.

WebUSB и разрешения браузера

ADB в браузере работает через WebUSB, а WebUSB есть в настольных браузерах на Chromium (Chrome, Edge) по HTTPS. Firefox и Safari его не поддерживают. По нажатию Connect device браузер показывает своё окно выбора USB-устройства. Если телефона там нет, почти наверняка его держит другая программа, либо дело в кабеле и режиме USB. Если вы закрыли окно или запретили доступ, перезагрузите страницу и снова нажмите Connect device.

ADBKit умеет сам переподключаться к ранее разрешённым устройствам, а если их несколько, между ними можно переключаться в меню устройства. Как это устроено, читайте в статье что такое WebADB и WebUSB. Если по кабелю связь нестабильна, попробуйте ADB по Wi-Fi.

Экран транслируется, но нажатия не работают

Если картинка есть, а нажатия и клавиши не доходят, это отдельная проблема, не связанная с подключением. Некоторым телефонам нужна дополнительная настройка разработчика для внешнего ввода. На Xiaomi, Redmi и POCO это «Отладка по USB (Настройки безопасности)», см. отдельную статью. Остальные случаи описаны в FAQ проекта scrcpy: <https://github.com/Genymobile/scrcpy/blob/master/FAQ.md>. Советы оттуда подходят и для других инструментов на основе scrcpy.