Как разрешить 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
-
Ура, теперь все должно быть хмурым! Просто перезагрузите телефон, и вы должны иметь доступ к 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
Попробуйте это шаги:
- отключить устройство
- adb kill-server
- adb start-server
- штекерное устройство
Вы должны разрешить Разрешить отладку 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 млн.