Как решить проблему неразрешенного устройства ADB на хост-устройстве Android ADB?

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

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

Заранее спасибо.

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

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

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

15 ответов

Решение
  • Получить открытый ключ с телефона клиента (хоста 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"

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

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

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

  1. Рутируйте свой телефон (мой уже был рутирован, поэтому я был благословлен хотя бы этим).

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

  1. Перезагрузите телефон в рекавери.
  2. Подключите телефон с помощью кабеля.
  3. Откройте терминал.
  4. Если вы печатаете adb devices Вы должны увидеть устройство в списке.
  5. Если это так, введите:

    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
    

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

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

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

PS Использовал OS X и Moto X Style с треснутым экраном.

Ты пытался

adb kill-server
adb shell

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

Также, пожалуйста, проверьте версию клиента ADB на вашем телефоне. Эта функция поддерживается с ADB 1.0.31, насколько я помню.

Опыт работы с: 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

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

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

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

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

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

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

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

Попробуйте порт USB2, если вы подключены к порту USB3. По крайней мере, для линейки Pixel3 это имеет значение. Многие люди наблюдали ту же проблему, но я не уверен, знает ли кто-нибудь, почему. Возможно, есть способ сказать ядру не делать что-то похожее на USB3 на USB-порте, с чем телефоны не справляются.

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

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

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

Пожалуйста, выполните следующие действия:

  1. Отключите телефон от системы
  2. Перейдите к параметрам разработчика мобильного телефона, а затем нажмите «Разрешить отладку по USB», затем выберите переключатель «Разрешить отладку по USB, когда всплывающее окно появляется при первом подключении к компьютеру!».....

Вот и все.. снова запустите команду:

       adb devices

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

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

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

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

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

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

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

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

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

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

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

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

Телефон займет около 5 млн. Для инициализации.

Другие вопросы по тегам