Pending authentication please accept debugging session on the device: как исправить ошибку ADB

Сообщение 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) в меню разработчика стирает все ранее сохранённые ключи. Это полезно, если авторизация «зависла», но после отзыва придётся заново подтверждать отладку для каждого компьютера.
📊 На каком этапе у вас возникла ошибка pending authentication?
Диалог подтверждения вообще не появляется
Диалог появился, но я нажал «Запретить»
Устройство в статусе unauthorized после подтверждения
Экран сломан, подтвердить не могу

Сброс ключей авторизации

Когда диалог был случайно отклонён или ключи повреждены, помогает полный сброс пары ключей с обеих сторон. На смартфоне откройте меню разработчика и нажмите «Отозвать авторизацию отладки по USB». На компьютере удалите файлы ключей ADB — они хранятся в папке .android в домашнем каталоге пользователя:

Windows: C:\Users\ИмяПользователя\.android\adbkey и adbkey.pub

Linux/macOS: ~/.android/adbkey и adbkey.pub

После удаления файлов перезапустите ADB-сервер и подключите устройство заново — Android сгенерирует свежий диалог подтверждения. Этот приём решает ситуации, когда устройство «застряло» в статусе unauthorized и не реагирует на повторные подключения.

☑️ Полный сброс авторизации ADB

Выполнено: 0 / 4

Проблемы с кабелем, драйверами и портами

Неочевидная, но частая причина — кабель, который передаёт только питание, но не данные. В этом случае смартфон заряжается, однако ПК его не видит, и никакой авторизации не происходит. Проверьте подключение другим, заведомо «дата-кабелем».

На 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-адаптер, если устройство это поддерживает.