Samsung (Galaxy S4) не отображает диалоговое окно авторизации USB-отладки

Я пытаюсь следовать приведенным здесь инструкциям , но мой телефон никогда не отображает опцию «Авторизовать отладку по USB».

Со стороны ПК adb devicesпоказывает, что ПК видит устройство, но оно указано как «офлайн», и я не могу adb shellс ним разговаривать.

Более того, если я отключу устройство, adb devicesего вообще не перечисляет, поэтому я предполагаю, что сервер adb может видеть телефон и просто не может с ним разговаривать.

Как заставить появиться на телефоне "Разрешить отладку по USB"?

Я уже пробовал перезагружать оба устройства, а также отключать и включать отладку по USB на телефоне.

@Firelord, да, я попробовал три машины, но все они были Linux. Не пробовал Windows или Mac.
У вас может быть неисправный кабель или тот, который не является кабелем для передачи данных.
Похоже , отключение автозапуска может помочь в Windows.

Ответы (13)

У меня это случалось несколько раз на нескольких устройствах Android. Решается каждый раз переводом устройства в режим передачи фото (PTP).

У меня ADB не будет работать, когда мое устройство находится в MTP или любом другом режиме.

Это должен быть принятый ответ. Та же проблема, что у меня была с Nexus 6P, которую я мог без проблем отлаживать на Win10, но на Ubuntu 18 не появлялось диалоговое окно «Разрешить отладку по USB». Я нашел этот ответ, попробовал и сработал как шарм.
МТП был выбран для меня. Перешел на PTP и заработало. Спасибо.
Мое устройство отображается в отладке удаления Chrome только при выборе «Установить драйвер», но исчезает для MTP или PTP. Тем не менее в настоящее время не будет запрашивать авторизацию.
Мой Nexus 5x каким-то образом переключился в режим «зарядки» после принятия отладки по usb. Возвращение к MTP исправило это для меня.
Это должен быть принятый ответ. Эта проблема все еще возникает в 2019 году на Oneplus 6 / Android 9, и решение — единственное, что сработало.
Это решение работает не во всех случаях, я пробовал все варианты, и диалоговое окно не отображается.

Мой SAMSUNG Galaxy S4 также иногда беспокоит меня этим раздражающим сообщением об автономном режиме. Я всегда исправляю это, пробуя варианты ниже:

  • Попробуйте отменить авторизацию USB Debugging в Developer Optionsменю.
  • Попробуйте использовать adb kill-serverи adb usbкоманды.
  • Попробуйте повторно подключить устройство , если ничего из вышеперечисленного не работает.
  • Попробуйте перезагрузить устройство .
  • Выключите и снова включите отладку по USB .
  • Попробуйте отключить и снова включить параметры разработчика .

надеюсь, это поможет.

Я просто предоставлял общие решения для других, не пробовал их :)
Идея 2 ( kill-server, затем usb) сработала для меня на моем S6, когда ничто другое не сработало! Спасибо!
Кстати, у меня также был телефон в режиме PTP (из-за ответа Чака ниже), а не MTP. Не уверен, что это связано, но если ни один из этих вариантов не работает для вас в MTP, попробуйте переключить его на PTP и повторите попытку.
Использование «adb usb» — это что-то новое, чего я никогда не делал, когда столкнулся с этой проблемой: D Спасибо, на этот раз это сработало;)
adb kill-serverа затем sudo adb start-serverзаставил его появиться для меня.

Я не уверен, что вы когда-нибудь решали эту проблему, но я столкнулся с этой проблемой и испробовал множество различных процедур, каждая из которых могла бы помочь другим, но это 2016 год, и краткое изложение может помочь.

Совершенно новый телефон, купленный в 2016 году, не работал, когда я установил Android Studio на Linux. Телефон купленный в 2015 году работал без проблем. Новый телефон не работал с точно такой же конфигурацией.

Когда у меня открыта Android Studio, менеджер AVD не показывал новый телефон, а показывал старый. Старый телефон при подключении к USB-разъему вызывал диалоговое окно с просьбой подтвердить отпечаток пальца ключа RSA, но новый телефон не показывал такой же диалог при подключении.

Я нашел совет на https://stackoverflow.com/questions/18011685/cant-connect-nexus-4-to-adb-unauthorized и попробовал его, и это сработало для меня.

Я удалил два файла adbkey и adbkey.pub из ~/.android. По-видимому, android-studio обнаруживает это и немедленно создает ключи. Как только это произошло, новый телефон открыл диалоговое окно и начал работать. Я могу видеть телефон в меню AVD Android-Studio и запускать приложения.

adb версии 1.0.31, НО, если я попытаюсь запустить «adb devices» в командной строке, Android-Studio перестанет показывать этот телефон в меню AVD.

Я все еще не вижу телефон (но это меня не беспокоит, так как я могу видеть телефон из меню AVD). Утилита командной строки adb показывала только запущенный эмулятор, но не телефон, подключенный в режиме отладки, который был виден в меню AVD, до тех пор, пока команда не была запущена.

$ adb devices
adb server is out of date.  killing...
* daemon started successfully *
List of devices attached 
emulator-5554   device

В этот момент переподключение телефона не помогает. Меню AVD показывало только эмулятор, который все еще работал на моем компьютере.

Вы должны запустить «adb kill-server». Как только это будет сделано, и если вы откроете меню AVD, Android Studio инициализирует свой собственный ADB, и телефон появится в меню AVD.

версия adb 1.0.31 Android Studio 2.1

Итак, резюмируя: две вещи.

  1. Удалите adbkey и adbkey.pub из ~/.android, пока открыта Android Studio.
  2. Не запускайте утилиту командной строки adb. Это мешает экземпляру сервера, запущенному Android Studio. Экземпляр сервера из командной строки работает для некоторых телефонов, но не для всех. Android-Studio работает со всеми моими телефонами.

Все вышеперечисленное, конечно, после того, как убедитесь:

  • вы нажимаете «номер сборки» 7 раз и включаете режим отладки USB …
  • много раз пытался «отозвать разрешения на отладку»
  • несколько раз пытался перезагрузить телефон
  • включить/отключить/включить режим отладки usb,

Все вышеперечисленные шаги выглядели как шаманство, но по сути они не работали, за исключением тех, что я перечислил выше.

(Обновление: добавление этой строки, которая изначально была комментарием, но принадлежит ответу).

Мне также пришлось добавить идентификатор поставщика нового телефона в файл /etc/udev/rules.d/51-android.rules, чтобы помочь идентифицировать новый телефон и установить разрешения.

удаление ~/.android полностью сработало для меня

У меня только что это случилось со мной. Отладка работала нормально в офисе, но сломалась дома.

Оказалось, что это мой usb-кабель. Каждый раз, когда я подключал его, он заряжался, но я никогда не получал приглашение разрешить отладку по USB.

Пробовал второй кабель, тоже самое.

Третий кабель был очаровательным, отлично работал с лучшим кабелем.

Мне нужно, чтобы «Конфигурация USB по умолчанию» была установлена ​​​​на «MIDI».

Windows 10, актуальная версия на 24 июня 2019 г. Samsung Galaxy S8 plus.

После 6 месяцев попыток случайных вещей и разочарования я понял это сегодня!

Конечно, я сделал очевидно необходимые шаги:

а. На телефоне включите отладку по USB через параметры разработчика: https://stackoverflow.com/questions/18103117/how-to-enable-usb-debugging-in-android

б. На компьютере установите соответствующий «OEM USB драйвер» для производителя вашего телефона: https://developer.android.com/studio/run/oem-usb.html#Drivers

Я сделал это давным-давно, но только недавно мне удалось правильно понять следующие две вещи:

1. Важно правильно выбрать USB-кабель

Кабель может прекрасно работать для зарядки телефона от ноутбука, но не для передачи данных (поскольку для этих целей используются разные контакты). Простой способ убедиться, что у вас правильный кабель, установить «Конфигурация USB по умолчанию» вашего телефона в настройках разработчика на «Передача файлов».

Вы должны увидеть свой телефон и его содержимое в проводнике Windows.

2. Установите «Конфигурация USB по умолчанию» вашего телефона на «MIDI».

За последние несколько месяцев я никогда не пробовал этого. Почему, черт возьми, это будет правильно?! Сегодня случайно попробовал. Я получил «Разрешить отладку по USB?» запрос, а не «Разрешить доступ к данным телефона?» что мы получаем при подключении с другими конфигурациями USB.

На панели Chrome Dev Tools «Удаленные устройства» в течение 1 или 2 секунд появляется телефон. Ура!

Это воспроизводимо, т. е. когда вы держите компьютер и телефон подключенными и переключаетесь между настройками «Конфигурация USB по умолчанию», телефон появляется и исчезает с удаленных устройств Chrome Dev Tools в течение секунды или двух. Появляется только тогда, когда телефон настроен на "MIDI".

На панели Chrome Dev Tools «Удаленные устройства» в течение 1 или 2 секунд появляется телефон. Ура!

[править] 3. Возможно, вам придется отключить его от MIDI, а затем вернуться к MIDI

Несколько раз я обнаруживал, что он перестает работать по необъяснимым причинам, но это можно исправить, перейдя в «Параметры разработчика», установив что-то отличное от MIDI, дождавшись звука «pling plong» на вашем компьютере с Windows, а затем снова установив его на MIDI. .

Если он показывает «Неавторизовано», но вы не видите приглашение RSA на телефоне, сделайте следующее.

линукс

which adb

Окна

where adb

Определите все повторяющиеся записи в пути. Удалить дубликаты.

Теперь сделайте

adb kill-server 
adb start-server

Мне пришлось удалить adbkey из /data/misc/adb на телефоне, а затем

В типе оболочки adb > adb kill-server В типе оболочки adb > adb start-server

Теперь подключение USB-кабеля вернуло параметры. По какой-то странной причине я отозвал авторизацию и потратил часы, чтобы вернуть ее.

Спасибо..

У меня была такая же проблема, и оказалось, что моя проблема связана с установкой режима USB на передачу файлов вместо зарядки. Как только я перевел его в режим зарядки, он решил мою проблему, и мне было предложено выполнить отладку.

Моя проблема сводилась к тому, что на моем компьютере не был установлен ADB (Android Debug Bridge).

Я следовал инструкциям здесь и фактически загрузил его здесь . После того, как я установил ADB на свой компьютер, я выполнил команды: adb kill-serverа затем adb start-server.

После всего этого мой рут наконец-то заработал! Я не уверен adb, нужны ли эти шаги, но я пошел дальше и выполнил их. Затем, когда я снова подключил свой телефон, на самом деле появилось диалоговое окно для предоставления разрешений моему компьютеру, и я смог получить root-права.

Этот ответ предназначен для всех, кто в настоящее время сталкивается с этой ужасно раздражающей проблемой (2019+).

Вот некоторые общие вещи, которые можно попробовать:

Если вы пытались и потерпели неудачу в течение примерно 5 часов с помощью вышеуказанных методов, вы можете найти собственное решение, которое помогло мне. Или вы можете взглянуть на вопрос, который я задал напрямую.

Похоже, что профиль компьютера (возможно, отпечаток ключа RSA) был автоматически распознан устройством Android и поэтому не запрашивал никаких разрешений. Оттуда я все еще пытаюсь понять это. Но в основном, как только я сбросил (сбросил настройки) свой компьютер, он снова начал запрашивать у меня авторизацию. Я уверен, что сброс к заводским настройкам был крайним вариантом, но в конце концов он сработал.

Вот что сработало для меня:

  1. Удалить adbkeyи adbkey.pubфайлы из ~/.androidпапки
  2. бегadb kill-server
  3. бегadb usb

Не забудьте установить, adbчтобы это работало.

Для Debian/Ubuntu это так же просто, как:

sudo apt install adb

Попробуйте установить USB-драйвер Android для вашей ОС. Вот Samsung для машин с Windows:

https://developer.samsung.com/mobile/android-usb-драйвер.html