Пристрої Android ADB несанкціоновані


93

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

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

Проблема

Я встановив драйвери Samsung, як сказано. Коли я запускаю команду пристроїв ADB, вона говорить несанкціонована .

Вже спробував:

  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", але це нічого не змінило. Чому?


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

Відповіді:


208
  1. Спробуйте скасувати авторизацію відключення USB.
  2. Знову увімкніть налагодження USB.

Це спрацювало.


8
Коли ви повторно вмикаєте налагодження USB, можливо, буде важливо встановити прапорець, який означає, що завжди слід дозволяти налагодження USB з цього пристрою. Я вважаю, що ця опція з’явиться лише в тому випадку, якщо ваш пристрій Android підключено до USB, коли ви повторно вмикаєте налагодження USB.
joshgoldeneagle

Мені потрібно було лише вимкнути, а потім увімкнути налагодження USB на своєму пристрої після переходу на новий комп’ютер (Macbook).
Ненсі

В будь-якому випадку відключіть та повторно підключіть ваш перший крок.
TGrif,

Спасибі за вашу відповідь. Ти врятував мій час.
Келвін Лоу

Я ніколи не думав, що потрапляю в пастку "чи ти намагався знову її вимкнути?" :)
jediz

45

Існують розробники Thanksgod 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 ще раз.


1
де цей ключ на Mac?
mosaad

1
> Перезапустити після цього, і обидва файли є, як при перезавантаженні? Я працюю під Windows і застряг у "несанкціонованому" пристрої, який просто не зникне! (Але я не перезавантажувався, бо 2 мільйони вікон відкрито)
tbone

1
@tbone Я знаю, що це пізня відповідь, але вам потрібно лише перезапустити сервер adb.
Carlos EL Augusto

2
видалив усе в цьому файлі і не тільки
Бен,

2
перейменовано .android.oldв безпечне, але як тільки я перезапустив сервер adb і скасував авторизацію, телефон підказав мені відразу! @julestruong дякую!
Richard.Davenport

27

Послідовно:

    adb kill-server
  • у НАЛАШТУВАННІ ПРИСТРОЮ перейдіть до опцій розробника та відключіть налагодження usb

  • натисніть REVOKE USB налагодження авторизації, натисніть OK

  • включити usb-налагодження

    adb start-server

2
Я запустив команду як root в Ubuntu, і це вирішило мою проблему. Не вдалося змусити це працювати без su (Ubuntu 18).
petobens

20

Я видалив наступні файли з папки ~ / .android :

  • adbkey
  • adbkey.pub

Я вимкнув і ввімкнув ADB на пристрої, і тепер він працює ...


1
Я бачив лише adbkeyфайл, тому видалив його, і він працював як шарм. Дякую!
Reeshabh Ranjan

18

у параметрах розробника,

  1. Увімкнути налагодження USB.

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

  1. Дайте дозвіл.

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

(якщо немає меню опцій розробника, вам потрібно натиснути три рази номер збірки меню стану телефону, щоб бути розробником. Ви можете встановити меню параметрів розробника.)

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


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
Цікаво, чи насправді люди, які голосували за інші відповіді, перевіряли екран пристрою ...
Skippy le Grand Gourou

LOL Я відчував себе досить німим, коли я дивився вниз на свій телефон
Джек Сен-Клер

4

В студії Android Run menu > Runшоу OFFLINE ...для підключеного пристрою.

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

  1. (Спершу прочитайте примітку нижче) Видаліть ~/.android/adbkey(або перейменуйте на ~/.android/adbkey2, це навіть краще, якщо ви хочете, щоб його повернули з якихось причин)
    Примітка : Я випадково зробив цей крок, але це не вирішило проблему, виконавши всі нижче кроки це спрацювало, тому не впевнені, чи потрібен цей крок.

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

  3. Убити сервер adb:
    sudo ~/Android/Sdk/platform-tools/adb kill-server

  4. Ви отримаєте Allow accept..спливаюче повідомлення на вашому пристрої. Прийняти це. Це важливо, що вирішує проблему.

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

  6. Зробіть ще Run menu > Runраз в Android-студії.
    На екрані з’явиться щось на зразок 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 devicesзараз, ви побачите, що ваш пристрій готовий до авторизації.


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

Жоден із методів, перерахованих на цій сторінці, не працював для мене; зокрема:

  • У мене виникла проблема, коли програма «Налаштування» виходила з ладу під час вибору « Скасувати авторизацію налагодження 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файл у sdcard проблемного пристрою 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".


0

Все, що вам потрібно, - це авторизувати режим налагодження.
1. переконайтеся, що пристрій підключено до ПК.
2. Дозвольте авторизований режим налагодження за допомогою Android-Studio, перейшовши в
Запуск -> Приєднати налагоджувач до процесу Android,
ніж ви побачите спливаюче вікно для дозволу режиму налагодження на своєму пристрої,
натисніть OK. зроблено.
я сподіваюся, це комусь допоможе.


0

У мене була та ж проблема після перевстановлення андроїд-студії. Ось що я зробив, щоб моя adb знову запрацювала:

-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.

0

для тих, хто зіткнеться з цим пізніше, це також може допомогти. Я зіткнувся з цією точною проблемою, намагаючись використовувати adb з командного рядка користувача, і відповіді вище не допомогли, але проблема зникла з "adb kill-сервером" під час запуску в командному рядку адміністратора.


0

Це працювало для мене:

rm ~ / .android / adbkey.pub

sudo ./adb kill-server

sudo ./adb start-server

sudo ./adb -s emulator-5554 install ~ / apk_to_install.apk

Я не впевнений, чи є хорошою ідеєю запустити adb із привілеями sudo, але це єдиний спосіб, як я це отримую, працює. З повагою.


0

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


-1

Припускаю, ви увімкнули Параметри розробника на пристрої у своєму смартфоні? Якщо ні, ви можете поглянути на кроки, надані Android, http://developer.android.com/tools/device.html#developer-device-options


Так, я зробив, і я також вимикаю та вмикаю його.
julestruong

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

Я завантажував інструменти 22 для платформи та замінював їх у каталозі sdk, не працював (версія adb, схоже, однакова)
julestruong

-1

Для FIRE STICK 4K насправді в діалозі сказано:

В іншому випадку перевірте наявність діалогового вікна підтвердження на своєму пристрої

Справді, на телевізорі в іншій кімнаті було діалогове вікно підтвердження. Дох!


1
Можливо, це може бути побічним коментарем до запитання, але це не відповідь, оскільки питання стосується іншого типу пристроїв.
Джайро,

-2

У мене була ця проблема, і її не вирішили шляхом видалення будь-яких клавіш (принаймні, їх видалення не виправило, можливо, це мало ефект після того, як я це вирішив)

Я насправді мав розбіжність між моєю версією sdk-tools та моєю версією Android Studio. Після оновлення моїх інструментів він все ще не працював, але після оновлення AS (до 1.4) все знову працювало нормально.

Завжди оновлюйте як sdk-інструменти, так і версію AS разом;)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.