Как разрешить ADB-устройство неавторизованным в устройстве Android ADB?

Когда я использую корневое устройство Android в качестве хоста ADB для отправки команды adb "устройства adb" на Samsung S4, я получил сообщение об ошибке неавторизованного устройства. Однако, когда я пробовал adb для Samsung Galaxy Nexus, он работает нормально. Может ли кто-нибудь посоветовать, как решить мою проблему Samsung S4?

=========================================
# adb devices
List of devices attached
4d00f9169907301b        unauthorized
=========================================

Спасибо заранее.

Edit: Установлено, что эта проблема произошла только с Android 4.2.2 и выше. Следующая ссылка объяснила, что Google внедрил некоторые новые функции безопасности для использования adb.

http://nelenkov.blogspot.com/2013/02/secure-usb-debugging-in-android-422.html

Оцените, сможет ли кто-нибудь помочь в этом.

Ответ 1

  • Получить открытый ключ с клиентского телефона (хост adb)

    cat/data/.android/adbkey.pub

  • скопируйте указанный выше открытый ключ в целевое местоположение телефона /data/misc/adb/adb_keys. (вам может потребоваться сначала остановить демон adb с помощью stop adbd)

    cat/data/misc/adb/adb_keys

проверьте, соответствуют ли выходы cat.

попробуйте перезапустить демон adb на целевой start adbd или просто перезагрузите их.

Если у вас возникли проблемы с чтением или записью в ADB KEYS на вышеуказанных шагах, попробуйте установить переменную окружения ADB_KEYS_PATH с временным путем (например,: /data/local/tmp). Обратитесь к который связывает его с подробнее

    "On the host, the user public/private key pair is automatically generated,
    if it does not exist, when the adb daemon starts and is stored in
    $HOME/.android/adb_key(.pub) or in $ANDROID_SDK_HOME on windows. If needed,
    the ADB_KEYS_PATH env variable may be set to a :-separated (; under
    Windows) list of private keys, e.g. company-wide or vendor keys.

    On the device, vendors public keys are installed at build time in
    /adb_keys. User-installed keys are stored in /data/misc/adb/adb_keys"

Ответ 2

Отметьте и снимите флажок USB Debugging на устройстве. Если это не работает, отключите и подключите USB несколько раз.

В какой-то момент устройство должно показать окно с сообщением о необходимости авторизации компьютера. Нажмите "Да", а затем устройство будет авторизовано.

Ответ 3

Если у кого-то есть аналогичная проблема с телефоном с треснувшим экраном и ему нужно получить доступ к adb:

  • Корни вашего телефона (мой уже был укоренен, поэтому я был благословлен, по крайней мере, этим).

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

  • Перезагрузите телефон для восстановления.
  • Подключите телефон к кабелю.
  • Открыть терминал.
  • Если вы наберете adb devices, вы увидите устройство в списке.
  • Если это так, введите:

    adb shell mount /system
    abd shell
    
    echo "persist.service.adb.enable=1" >> default.prop 
    echo "persist.service.debuggable=1" >> default.prop
    echo "persist.sys.usb.config=mtp,adb" >> default.prop
    echo "persist.service.adb.enable=1" >> /system/build.prop 
    echo "persist.service.debuggable=1" >> /system/build.prop
    echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
    

Теперь, если вы собираетесь перезагрузиться в свой телефон, Android сообщит вам: "О, ваш adb работает, но нажмите эту кнопку" ОК ", чтобы мы могли доверять вашему ПК". И, очевидно, если мы не можем коснуться телефона в режиме восстановления и сделать следующее (если вы не находитесь в режиме оболочки adb, если это первый тип exit):

cd ~/.android
adb push adbkey.pub /data/misc/adb/adb_keys
  1. Ура, теперь все должно быть хмурым! Просто перезагрузите телефон, и вы должны иметь доступ к adb при работе телефона:

    перезагрузка оболочки adb

P.S. Использовал OS X и Moto X Style, что с треснувшим экраном.

Ответ 4

Вы пробовали

adb kill-server
adb shell

Иногда adb застревает и сначала убивает adb-сервер, а затем запускает окно авторизации командных сил для всплывающих окон.

Также проверьте версию клиента adb на своем телефоне. Насколько мне известно, эта функция поддерживается в adb 1.0.31.

Ответ 5

Опыт работы с: ASUS ZENFONE

Если вы столкнулись с отсутствующим драйвером для Asus Zenfones, перейдите по этой ссылке (http://donandroid.com/how-to-install-adb-interface-drivers-windows-7-xp-vista-623)

Я пробовал с

1) Уничтожение и запуск сервера adb на adb cmd.

2) Включение и выключение отладки USB и...

Это то, что работало со мной.

Шаг 1: Удалить соединение с устройством и закрыть Eclipse

Шаг 2: Перейдите к C: /Users/User_name/.android/

Шаг 3: Вы найдете adb_key

Шаг 4: Просто удалите его.

Шаг 5. Подключитесь снова, и система снова спросит вас.

Шаг 6. Спросите устройство, чтобы оно запомнило ключ RSA, когда оно предложит. Я думаю, что это сделано.

Если вы столкнулись с той же проблемой через пару дней, просто отключите и включите отладку по USB

Ответ 6

Вам нужно разрешить Allow USB debugging, когда всплывающее окно появляется при первом подключении к компьютеру!

Ответ 7

Для меня эмулятор не мог включить Google Play Services. Это может быть API Google или x86 или x64, но не магазин Google Play.

Ответ 8

Попробуйте это шаги:

  1. отключить устройство
  2. adb kill-server
  3. adb start-server
  4. штекерное устройство

Вы должны разрешить Разрешить отладку USB на вашем устройстве, когда всплывающее окно.

Ответ 9

Для авторизации этого компьютера на экране s4 вы должны быть запрошены. Вы можете сказать это, чтобы запомнить это. Это по соображениям безопасности, происходящим в Android 4.4 +

Ответ 10

Удалите папку .android из C:/users/<user name>/.android. Это решило проблему для меня.

Ответ 11

Мне нужно было установить флажок для отладчика на телефоне "всегда разрешать на этом телефоне". Затем я сделал adb-устройства, а затем ввел команду adb, чтобы очистить добавление. Он работал нормально. До этого он не распознал pm и другие команды

Ответ 12

По неизвестным причинам у меня был только ~/.android/adbkey, но не ~/.android/adbkey.pub.

Я предполагаю, что adb не смог отправить открытый ключ на устройство, и, таким образом, устройство никогда не показывало диалог авторизации.

После убийства сервера adb, удаления файла adbkey и повторного запуска adb на телефоне появилось диалоговое окно авторизации.

Ответ 13

Я нашел одно решение с Nexus 5 и TWRP установлено. В основном формат был единственным решением, которое я нашел, и я пробовал все решения, перечисленные здесь раньше: ADB Android Device Unauthorized

Попросите Google сделать резервную копию ваших приложений. Сохраните все важные файлы, которые могут быть у вас на телефоне.

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

Включить отладку USB в опции разработчика (не уверен, что это помогло, поскольку устройство было несанкционированным, но все же...)

Убедитесь, что ваш телефон подключен к компьютеру, и вы можете получить доступ к хранилищу

Загрузите google img вашей связи: https://developers.google.com/android/nexus/images распакуйте свои файлы и поместите их в новую папку на вашем компьютере, назовите ее factory (любое имя будет делать).

стереть ВСЕ данные... у вас будет 0 файл в вашем андроиде, доступ к которому можно получить с компьютера.

Затем перезагрузитесь в режим BOOTLOADER... у вас появится сообщение "у вас нет установленной ОС, вы уверены, что хотите перезагрузить?"

Затем выполните (дважды щелкните) файл .bat внутри папки factory.

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

Для инициализации телефона потребуется около 5 млн.