Устройства Android ADB неавторизованы

97

Конфигурация:

  • Windows 8.1
  • Версия ADB: 1.0.32
  • Смартфон: Oneplus One

Проблема

Установил драйверы Самсунг, как говорят. Когда я запускаю команду ADB devices, она говорит, что не авторизован .

Уже пробовал:

  1. Я сделал все, что было сказано в этом посте: https://stackoverflow.com/a/25546300/1848376

    Но проблема в том, что я не получаю по телефону подсказку о том, что я должен принять соединение.

  2. Когда я запускаю команду adb shell, вот ответ:

    error: device unauthorized.
    This adbd's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong.
    Otherwise check for a confirmation dialog on your device.
    

Я сделал "adb kill-server", но это ничего не изменило. Зачем?

Julestruong
источник
Попробовав все вышеперечисленное, я начал загружать более низкие AVD, чтобы посмотреть, будут ли работать другие. API 28 и 27 все еще зависают во время загрузки, но API 26 запускается сразу. Android Studio 3.1.3 Я попытаюсь удалить и переустановить позже, но рад, что это, наконец, снова работает. Новая установка Android Studio 3.1 после новой установки Windows 10 после исправления критической ошибки процесса в течение почти недели без исправления.
Джон

Ответы:

212
  1. Попробуйте отменить авторизацию USB DEBUGGING.
  2. Снова включите отладку по USB.

Это сработало.

user1421092
источник
8
При повторном включении отладки по USB может быть важно установить флажок всегда разрешать отладку по USB с этого устройства. Я считаю, что эта опция появится, только если ваше устройство Android подключено к USB, когда вы повторно включаете отладку по USB.
joshgoldeneagle
Мне нужно было только отключить, а затем включить отладку по USB на моем устройстве после перехода на новый компьютер (Macbook).
Нэнси,
В любом случае отключение и повторное подключение должно быть вашим первым шагом.
TGrif
Спасибо за ваш ответ. Вы сэкономили мне время.
Kelvin Low
Я никогда не думал, что застряну в ловушке: "Ты пытался выключить и снова включить?" :)
jediz
46

Слава богу, разработчики xda существуют: http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087

Просто нужно было удалить файл adbkey в C: Users / $ Name / .android adbkey.pub отсутствовал.

После этого перезапустите, и оба файла будут там.

Если это не работает: - Попробуйте отменить авторизацию USB DEBUGGING. - Включите отладку по USB снова.

Julestruong
источник
1
где этот ключ на Mac?
мозаика
1
> Перезагрузите после этого и оба файла есть Как при перезагрузке? Я нахожусь в Windows и застрял с "неавторизованным" устройством, которое просто не исчезнет! (Но я не перезагружался, потому что открыто 2 миллиона окон)
tbone 01
2
@tbone Я знаю, что это поздний ответ, но вам нужно только перезапустить сервер adb.
Карлос ЭЛЬ-Аугусто,
2
удалил все в этом файле и
Бен,
2
переименован в .android.oldна всякий случай, но как только я перезапустил сервер adb и отозвал авторизацию, мой телефон сразу же подсказал мне! @julestruong спасибо!
Richard.Davenport
29

В последовательности:

    adb kill-server
  • в НАСТРОЙКЕ УСТРОЙСТВА перейдите к параметрам разработчика и отключите отладку USB

  • нажмите ОТМЕНИТЬ авторизацию отладки USB, нажмите ОК

  • включить usb-отладку

    adb start-server
    
PYK
источник
2
Я выполнил команду как root в Ubuntu, и это решило мою проблему. Не удалось заставить его работать без su (Ubuntu 18).
petobens
20

Я удалил из папки ~ / .android следующие файлы :

  • adbkey
  • adbkey.pub

Я отключил и включил ADB на устройстве, и теперь он работает ...

сумасшедший
источник
1
Я видел только adbkeyфайл, поэтому удалил его, и он работал как шарм. Благодарность!
Ришаб Ранджан
18

в параметрах разработчика,

  1. Включите отладку по USB.

введите описание изображения здесь

  1. Дайте разрешение.

введите описание изображения здесь

(если меню параметров разработчика отсутствует, вам нужно 3 раза щелкнуть номер сборки в меню состояния телефона, чтобы стать разработчиком. Вы можете воспользоваться меню параметров разработчика.)

введите описание изображения здесь

Руни
источник
8

Удалить существующие adbkeys

ИЛИ

Переименовать adbkeys

Лучше всего переименовать ключи, потому что это обеспечивает резервную копию.

cd ~/.Android

mv adbkey adbkey2

mv adbkey.pub adbkey.pub2

Следующая остановка и запуск сервера

cd ~/Android/Sdk/platform-tools

Найдите устройство /Android/Sdk/platform-tools$ ./adb devices

/Android/Sdk/platform-tools$ ./adb kill-server

/Android/Sdk/platform-tools$ ./adb start-server

Затем остановите эмулятор. Откройте диспетчер AVD, щелкните стрелку вниз, затем щелкните стереть данные.

Перезагрузите эмулятор. Дальше все нормально работает :)

Раджат
источник
5

Попробуйте снять флажок «Проверять приложения через USB» в параметрах разработчика, а затем включите и отключите «Отладку по USB». У меня это работает.

Суприт Рамгария
источник
Этот метод сработал для меня: сначала моя «Отладка по USB» была включена, затем я снимаю флажок «Проверять приложения через USB», но это не помогает. После того, как я включил "Отладку по USB", все заработало!
Джеки Йе
4

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

Аджай Дипак
источник
2
Интересно, действительно ли люди, голосующие за другие ответы, проверяли экран устройства…
Скиппи ле Гранд Гуру
LOL Я чувствовал себя довольно глупо, когда смотрел на свой телефон
Джек Сент-Клер
4

В Android Studio Run menu > Runпоказывает OFFLINE ...подключенное устройство.

Ниже приведена процедура ее решения:

  1. (Сначала прочтите примечание ниже) Удалите ~/.android/adbkey(или переименуйте в ~/.android/adbkey2, это даже лучше, если вы по какой-то причине захотите его вернуть)
    Примечание . Я сделал этот шаг, но он не решил проблему после выполнения всех ниже шаги, это сработало, поэтому не уверены, требуется ли этот шаг.

  2. Запустить locate platform-tools/adb
    Примечание : используйте путь, который идет отсюда, в командах ниже

  3. Убить adb server:
    sudo ~/Android/Sdk/platform-tools/adb kill-server

  4. Вы получите Allow accept..всплывающее сообщение на вашем устройстве. Принять это. Это важно, что решает проблему.

  5. Запустить adb server:
    sudo ~/Android/Sdk/platform-tools/adb start-server

  6. В студии Android сделайте еще Run menu > Runраз.
    Будет показано что-то вроде Samsung ...(название производителя вашего телефона).
    Также на этот раз правильно устанавливает apk на устройство без ошибок.

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

Манохар Редди Поредди
источник
2
  1. Сначала удалите adbkeyи adbkey.pubиз .androidкаталога в вашем домашнем каталоге.
  2. Сделать .androidкаталог в вашем доме с 710 разрешений: $ chmod 710 .android/и собственность как: chown -R <user>:<user> .android/. Пример:

    $ chmod 710 .android/
    $ chown -R ashan:ashan .android/
    
  3. Перейдите к параметрам разработчика на своем мобильном телефоне и коснитесь параметра Revoke USB debugging authorizations

  4. Выключаем все USB Debuggingи Developer Optionsв девайсе и отсоединяем девайс от машины.

  5. Подключите устройство еще раз и сначала включите Developer Options. Затем включите USB debugging.

  6. В этот момент на вашем мобильном телефоне вы получите запрос на разрешение. Примечание: вы должны установить флажок always accept from this ….и нажать ОК.

  7. Теперь у вас машину, запустить сервер ADB: adb start-server.

  8. Надеюсь, когда вы введете команду: adb devicesnow, вы увидите, что ваше устройство готово к авторизации.

Ашан Приядаршана
источник
1

Меня тоже поразила эта проблема. Я использую собственную сборку AOSP на Nexus 5X. Я добавил одну строчку в build / core / main.mk:

diff --git a/core/main.mk b/core/main.mk
index a6f829ab6..555657539 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -362,6 +362,8 @@ else # !enable_target_debugging
   ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
 endif # !enable_target_debugging

+ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
+
 ## eng ##

 ifeq ($(TARGET_BUILD_VARIANT),eng)

Теперь adb shellработает нормально

Эти материалы полезны (статьи на китайском языке): http://www.voidcn.com/blog/kc58236582/article/p-6335996.html , http://blog.csdn.net/fanmengke_im/article/details/28389439

Чжи-Сюань Йен
источник
1

Попробуйте удалить файл adbkey из папки C / .android

а затем запустите команды, как указано выше, т.е.

adb kill-server, adb start-server и устройства adb

.

Правин Ядав
источник
Похоже, это именно то, что подробно описано ниже в сообщении stackoverflow.com/a/55470951/984471
Manohar Reddy Poreddy
1

Ни один из методов, перечисленных на этой странице, у меня не работал; в частности:

  • У меня возникла проблема, из-за которой приложение «Настройки» вылетало при выборе « Отменить авторизацию отладки USB»
  • Я использовал LineageOS 14 x86_64
  • Я использовал ADB по сети
  • /data/misc/adbНе содержит adb_keysфайл
  • Удаление моего локального ~/.android/adbkeyтоже не помогло
  • У меня был root-доступ с локального терминала
  • У меня не было диалогового окна подтверждения
adb: error: failed to get feature set: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
- waiting for device -

В конце концов, я нашел очень полезный пост здесь , что предложено вручную поместить содержимое ~/.android/adbkey.pubвнутри /data/misc/adb/adb_keysфайла.

Они предложили один из этих двух методов:

  1. С другого рабочего устройства скопируйте adb_keysфайл на свой компьютер:

    # On the other Android device
    cp /data/misc/adb/adb_keys /sdcard
    
    # From your computer
    adb pull /sdcard/adb_keys .
    

    Затем поместите рабочий adb_keysфайл на SD-карту проблемного Android-устройства (используя Интернет или MTP) с именем adb_keys, затем скопируйте файл по правильному пути:

    # On the problematic device
    cp /sdcard/adb_keys /data/misc/adb/adb_keys
    
  2. Другой метод - просто скопировать ваш компьютер adbkey.pubиз ~/.android/каталога и поместить его на SD-карту проблемного Android-устройства (с помощью Интернета или MTP) с именем, а adb_keysзатем скопировать файл по правильному пути:

    # On the problematic device
    cp /sdcard/adbkey.pub /data/misc/adb/adb_keys
    

    (Примечание: есть аналогичный ответ по SO, в котором подробно описывается этот метод.)

Поскольку на моем компьютере был запущен веб-сервер и я curlустановил его на Android, я suвыполнил из терминала и запустил на своем устройстве Android следующее:

cd /data/misc/adb
curl 192.168.1.35:8080/adbkey.pub > adb_keys

Убил adbдемона (используя adb kill-server) и БАМ ! adbОболочка работала нормально, как это должно было быть с самого начала.

Надеюсь, описанный здесь метод работает для вас так же, как и для меня.

Давид Рефуа
источник
1

Ваше приложение определяется как вредоносная программа. Отключите параметр «Проверять приложения через USB». Это то же самое, что и «Отладка по USB».

7guyo
источник
0

Все, что вам нужно, это авторизовать режим отладки.
1. Убедитесь, что ваше устройство подключено к вашему ПК.
2. Разрешите авторизованный режим отладки через Android-Studio, выбрав «
Выполнить» -> «Прикрепить отладчик к процессу Android», после чего
вы увидите всплывающее окно для разрешения режима отладки на вашем устройстве,
нажмите «ОК». сделанный.
Я надеюсь, что это кому-то поможет.

Бенни
источник
0

У меня была такая же проблема после переустановки моей студии Android. Вот что я сделал, чтобы мой adb снова заработал:

-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.
Энтони .M
источник
0

для тех, кто столкнется с этим позже, это также может помочь. Я столкнулся с этой точной проблемой, пытаясь использовать adb из командной строки пользователя, и приведенные выше ответы не помогли, но проблема исчезла с помощью «adb kill-server» при запуске в командной строке администратора.

Джеймс 'Пушистый' Бертон
источник
0

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

rm ~ / .android / adbkey.pub

sudo ./adb kill-server

sudo ./adb start-server

sudo ./adb -s emulator-5554 установить ~ / apk_to_install.apk

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

Elaineee
источник
0

Я получил это как root, когда, будучи пользователем без полномочий root, я получал ошибки разрешений при попытке подключиться к пользовательскому восстановлению (Philz). поэтому я убил сервер adb, скопировал подкаталог .android моей учетной записи в / root, установил -R в root.root и перезапустил сервер adb. Я в деле!

jcomeau_ictx
источник
0

Это сработало для меня

1- Go to ~/.android/ and remove “adbkey”
2- Disconnect USB connection
3- adb kill-server
4- Revoke USB debugging authorizations (in developer option)
5- Reconnect the device to the Ma
6- adb devices
Норуддин Лахани
источник
-1

Я полагаю, вы включили на своем смартфоне параметры разработчика на устройстве? Если нет, вы можете взглянуть на шаги, предоставляемые Android, http://developer.android.com/tools/device.html#developer-device-options.

Dhunju_likes_to_Learn
источник
Да, я это сделал, и я также выключаю и включаю его.
julestruong
согласно этой ссылке ( code.google.com/p/android/issues/detail?id=175077 ), похоже, что у "инструментов платформы 23 rc1" есть эта проблема. Вы можете найти версии инструментов платформы с помощью cmd "$ adb version". В ссылке говорится, что возвращение к сборочной версии 22 решает проблему.
Dhunju_likes_to_Learn
Я загрузил инструменты для
формования пластин
-1

Для FIRE STICK 4K в диалоговом окне фактически написано:

В противном случае проверьте наличие диалогового окна подтверждения на вашем устройстве.

Действительно, по телевизору в другой комнате был диалог подтверждения. Дох!

user7660047
источник
1
Возможно, это может быть побочный комментарий к вопросу, но это не ответ, поскольку вопрос касается другого типа устройства.
Хайро
-2

У меня была эта проблема, и она не была решена удалением каких-либо ключей (по крайней мере, их удаление не помогло, возможно, имело эффект после того, как я исправил это)

У меня действительно было несоответствие между моей версией sdk-tools и моей версией Android Studio. После обновления моих инструментов он все еще не работал, но после обновления AS (до 1.4) все снова работало нормально.

Всегда обновляйте и sdk-tools, и версию AS вместе;)

Glenn.nz
источник