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-ключ этого компьютера. Пробуйте по порядку:
- Разблокируйте телефон и найдите окно «Разрешить отладку по USB?». Отметьте «Всегда разрешать с этого компьютера» и нажмите «Разрешить».
- Если окна нет, отключите и снова подключите кабель при разблокированном экране.
- Откройте «Настройки» › «Система» › «Для разработчиков» (путь зависит от прошивки) и нажмите «Отозвать доступ для отладки по USB». Подключите телефон снова и примите новый запрос.
- Выключите и снова включите «Отладку по USB».
- Выполните
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.