Сообщение pending authentication please accept debugging session on the device появляется в ответ на команду adb devices или при попытке выполнить любую ADB-команду, когда смартфон физически подключён к компьютеру, но не подтвердил RSA-отпечаток ключа отладки этого ПК. Пока на экране устройства не нажата кнопка «Разрешить» в диалоге «Разрешить отладку по USB?», Android считает подключение неавторизованным, и ADB переводит устройство в статус unauthorized либо выводит именно эту строку ожидания.
Проблема почти всегда решается без прошивки и сброса: достаточно правильно подтвердить диалог на телефоне или сбросить сохранённые ключи авторизации. Ниже разберём, почему диалог может не появляться, как принудительно вызвать его заново и что делать, если экран смартфона разбит или заблокирован.
Что означает это сообщение
Механизм авторизации ADB устроен по принципу пары ключей. При первом подключении компьютер отправляет смартфону свой открытый ключ, а Android показывает диалог с RSA-отпечатком, предлагая разрешить или запретить отладку. Пока пользователь не отреагировал, сессия находится в состоянии ожидания — pending authentication.
Важно понимать: это не сбой и не «зависание» ADB, а штатное защитное поведение Android. Система ждёт действия на устройстве, и команды с компьютера в этот момент выполняться не будут. Если диалог случайно закрыть, свернуть или он скрыт за экраном блокировки, ожидание может длиться бесконечно.
Быстрая проверка: первые действия
Начните с простого. Разблокируйте смартфон, выведите его из спящего режима и посмотрите на экран: диалог подтверждения отладки часто прячется за шторкой уведомлений или экраном блокировки. Если диалог виден — установите флажок «Всегда разрешать с этого компьютера» и нажмите «Разрешить».
Если диалога нет, выполните перезапуск ADB-сервера на компьютере:
adb kill-server
adb start-server
adb devices
После перезапуска сервера Android обычно повторно показывает диалог авторизации. Убедитесь, что в момент подключения экран устройства активен — на части прошивок диалог не отображается на выключенном экране.
- 🔓 Разблокируйте смартфон и держите экран включённым во время подключения
- 🔌 Подключите кабель напрямую к порту ПК, минуя хабы и удлинители
- 🔄 Перезапустите ADB-сервер командами
adb kill-serverиadb start-server - ✅ Отметьте «Всегда разрешать» перед подтверждением диалога
Проверка настроек разработчика на смартфоне
Если диалог так и не появился, откройте на устройстве Настройки → Для разработчиков и проверьте, что переключатель «Отладка по USB» (USB debugging) включён. Если раздела «Для разработчиков» нет, его нужно активировать: в разделе «О телефоне» несколько раз нажмите на пункт «Номер сборки» — точный путь зависит от оболочки производителя, сверьтесь с инструкцией к вашей модели.
Обратите внимание на режим USB-подключения. На некоторых устройствах при режиме «Только зарядка» отладка работает нестабильно. Попробуйте переключить режим на передачу файлов (MTP) через уведомление о подключении по USB и проверить, появится ли диалог.
⚠️ Внимание: пункт «Отозвать авторизацию отладки по USB» (Revoke USB debugging authorizations) в меню разработчика стирает все ранее сохранённые ключи. Это полезно, если авторизация «зависла», но после отзыва придётся заново подтверждать отладку для каждого компьютера.
Сброс ключей авторизации
Когда диалог был случайно отклонён или ключи повреждены, помогает полный сброс пары ключей с обеих сторон. На смартфоне откройте меню разработчика и нажмите «Отозвать авторизацию отладки по USB». На компьютере удалите файлы ключей ADB — они хранятся в папке .android в домашнем каталоге пользователя:
Windows: C:\Users\ИмяПользователя\.android\adbkey и adbkey.pub
Linux/macOS: ~/.android/adbkey и adbkey.pub
После удаления файлов перезапустите ADB-сервер и подключите устройство заново — Android сгенерирует свежий диалог подтверждения. Этот приём решает ситуации, когда устройство «застряло» в статусе unauthorized и не реагирует на повторные подключения.
☑️ Полный сброс авторизации ADB
Проблемы с кабелем, драйверами и портами
Неочевидная, но частая причина — кабель, который передаёт только питание, но не данные. В этом случае смартфон заряжается, однако ПК его не видит, и никакой авторизации не происходит. Проверьте подключение другим, заведомо «дата-кабелем».
На Windows дополнительно проверьте Диспетчер устройств: если смартфон отображается с жёлтым восклицательным знаком или как неизвестное устройство, требуется установить корректный USB-драйвер производителя либо стандартный Google USB Driver. Без рабочего драйвера ADB-интерфейс не создаётся, и сообщение об ожидании авторизации может сменяться полным отсутствием устройства в списке.
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
Устройства нет в adb devices | Кабель без линий данных или нет драйвера | Другой кабель, Диспетчер устройств |
Статус unauthorized | Диалог отклонён или не подтверждён | Экран смартфона, сброс ключей |
| Диалог появляется и сразу исчезает | Экран гаснет, конфликт поверхностных окон | Увеличить таймаут сна, закрыть оверлеи |
| Авторизация слетает при каждом подключении | Не отмечено «Всегда разрешать» или сбой ключей | Флажок в диалоге, удалить adbkey |
| Ошибка только на одном ПК | Повреждён локальный ключ компьютера | Удалить adbkey на этом ПК |
Если экран разбит или устройство заблокировано
Здесь честно обозначим ограничение: подтвердить диалог отладки без работающего тачскрина штатными средствами нельзя — это осознанная мера безопасности Android, защищающая данные от несанкционированного доступа. Если отладка по USB была включена заранее и компьютер уже был авторизован ранее, ADB может работать без нового подтверждения.
Если авторизации раньше не было, варианты ограничены: подключение USB-мыши через OTG-адаптер (если устройство его поддерживает и экран хотя бы частично показывает изображение) либо обращение в сервисный центр. Способы обхода диалога авторизации через сторонние эксплойты и модифицированные образы несут риск потери данных и гарантии — применять их стоит только с полным пониманием последствий.
⚠️ Внимание: не вводите команды adb shell с очисткой данных или сбросом настроек, пока не убедились, что резервная копия важных файлов существует. Авторизация отладки даёт полный доступ к содержимому устройства.
Почему ADB требует ручного подтверждения
Механизм RSA-авторизации введён, чтобы никто не мог получить доступ к данным смартфона, просто подключив его к своему компьютеру. Ключ привязан к конкретному ПК, а диалог требует физического доступа к разблокированному устройству. Именно поэтому обойти подтверждение без последствий невозможно — это не недоработка, а функция безопасности.
Профилактика: как не столкнуться с ошибкой снова
Чтобы авторизация не слетала, всегда отмечайте флажок «Всегда разрешать с этого компьютера» при первом подключении. Не удаляйте папку .android без необходимости и избегайте одновременной работы нескольких экземпляров ADB-сервера — например, встроенного в Android Studio и отдельно установленного platform-tools, поскольку конфликт версий иногда приводит к сбросу состояния устройства.
- 🛡️ Используйте один актуальный пакет platform-tools от Google
- 🔑 Храните резервную копию файлов
adbkey, если регулярно работаете с несколькими устройствами - 📱 После обновления прошивки смартфона проверяйте, не сбросилась ли отладка по USB
- 🔌 Отдавайте предпочтение прямому подключению к портам материнской платы
Итоговая логика проста: сообщение pending authentication — это ожидание, а не поломка. В подавляющем большинстве случаев достаточно разблокировать смартфон, подтвердить диалог и при необходимости сбросить ключи с обеих сторон. Переходить к удалению драйверов и глубокой переустановке инструментов стоит только после того, как базовые шаги проверены.
Частые вопросы
Почему диалог подтверждения отладки не появляется на экране?
Возможные причины: экран заблокирован или погашен, отладка по USB выключена в меню разработчика, кабель не передаёт данные, либо компьютер уже числится в отозванных ключах. Проверьте эти пункты по очереди и перезапустите ADB-сервер командой adb kill-server.
Чем отличается статус unauthorized от pending authentication?
Оба означают, что устройство не авторизовано. Unauthorized — это статус в выводе adb devices, а сообщение о pending authentication появляется при попытке выполнить команду. Решение одинаковое: подтвердить диалог на устройстве или сбросить ключи.
Я нажал «Запретить» в диалоге. Что теперь?
Отключите кабель, отзовите авторизацию в меню разработчика (Настройки → Для разработчиков → Отозвать авторизацию отладки по USB), перезапустите ADB-сервер и подключите устройство заново — диалог появится повторно.
Нужно ли заново подтверждать отладку после перезагрузки телефона?
Если при первом подключении был установлен флажок «Всегда разрешать с этого компьютера», повторное подтверждение не требуется — ключ сохраняется. Исключение: сброс настроек, обновление прошивки или удаление ключей на ПК.
Можно ли авторизовать ADB без нажатия на экран?
Штатными средствами — нет, это защита Android от несанкционированного доступа. Если компьютер был авторизован ранее, подтверждение не понадобится. Иначе потребуется физический доступ к экрану, например через USB-мышь и OTG-адаптер, если устройство это поддерживает.