Устройство Android ADB в автономном режиме, не может выдавать команды


329

Я больше не могу подключиться к своему устройству с помощью ADB через командную строку или в Eclipse .

Выполнение команды

adb devices

возвращает имя устройства, но оно говорит, что оно в автономном режиме.

Вещи, которые я попробовал.

  1. Переключенный режим отладки Android
  2. Переустановил драйвер Google USB
  3. Восстановил ОС до ранее работающей резервной копии ( CyanogenMod )
  4. Поменял шнур USB
  5. Перезагрузил телефон / компьютер несколько раз
  6. Обновлен Android SDK

Я действительно понятия не имею, что происходит. Все, что вы думаете, я могу попробовать, я весь слух.

Для ясности, если у вас возникла такая же проблема, вероятно, это устаревший SDK. Начиная с 4.2.2 существует функция безопасности, которая требует подтверждения отпечатка пальца RSA подключенного устройства. Откройте менеджер SDK и обновите инструменты! Затем перезагрузите компьютер.


22
попробуйте другой порт USB.
Jayellos

единственный другой порт - usb3
Брайан,

3
Я также столкнулся с такой проблемой. * Я выполнил команду adb kill-server, adb start-server. * попробуйте другой порт USB, в основном он будет работать на задней панели ПК., * перезапустите устройство, * перезапустите eclipse, * перезагрузите компьютер, * замените USB-кабель, некоторые USB-кабели не будут работать (низкое качество). Наконец, если проблема не решена, переустановите драйвер USB устройства.
Jayellos


3
Так случилось и со мной. В моем случае я просто отключаю опцию «Разработчик», а затем снова включаю. Вот и все.
Kyaw Nyi Win

Ответы:


139

Я только что получил ту же проблему сегодня после того, как мой Nexus 7 и Galaxy Nexus были обновлены до Android 4.2.2.

Для меня было исправлено обновление инструментов платформы SDK до версии 16.0.1. Для меня эта версия не отображалась в моем менеджере SDK, поэтому я снял ее с http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip напрямую.

Затем вам нужно переименовать platform-toolsкаталог и разархивировать его android-sdk-windows/platform-tools. Используя SDK Manager, я также до этого обновлялся до последних sdk-tools.

Если все ваши Eclipse и ADT древние, вам, возможно, потребуется обновить их, но мне это не нужно.

Примечание: вам может потребоваться запустить SDK Manager дважды (один раз, чтобы обновить себя), прежде чем вы увидите последние пакеты.


1
У меня r17 но у меня такая же проблема. Поможет ли возврат к r16.0.1?
Александр Сурафел

@ Спартак Я не думаю, поэтому я думаю, что проблема для вас может быть теперь в другом месте.
hack_on

Решена проблема, связанная с отсутствием платформы Android SDK
Тай Дао

Работал именно в указанном порядке. Последний шаг - разрешить это по телефону.
влад

24
Просто перезагрузите телефон или устройство и наслаждайтесь, не нужно перезапускать ADB больше ничего.
UMAR

135

Попробуйте запустить adb devicesпосле запуска adb kill-server. После этого всплывает секретный вопрос. Работал на меня.


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

Обязательно отсоедините любые другие машины от устройства. В моем случае мой хост виртуальной машины все еще был подключен через tcpip, и мой гость мог все еще успешно соединиться, но это было бы автономно. Чтобы получить приглашение RSA, мне нужно было выполнить adb kill-serverкоманду на моем хосте, прежде чем подключаться к гостю через adb connect 192.x.x.x.

после этого стартовый сервер adb
madz

В общем-то, вот и все. Примите ответ для особого случая.
Ратул

Должно быть, я пропустил «разрешить отладку по USB от xx: xx: xx» на телефоне. Перезапустите сервер и снова подключите USB.
Дэн Болсер

77

Это также часто встречается при подключении к устройству в режиме Wi-Fi (например, в Android Studio или в консоли, запустив его adb tcpip 5555).

Исправить:

  1. Отключите соединение USB или отключите Wi-Fi устройства, если вы подключены через Wi-Fi.
  2. Закройте Android Studio / Eclipse / другие IDE.
  3. Запустите, adb kill-serverчтобы убедиться, что ADB не работает.
  4. Перезагрузите ваше устройство Android.
  5. После перезагрузки устройства подключите его через USB и запустите adb devices. Это должно запустить демон ADB. Ваше устройство должно снова быть в сети.

2
Шаг 3, скорее всего, является ключевым решением здесь! закройте интерфейс командной строки и завершите процесс, если он все еще работает, и попробуйте снова!
Reubenjohn

Это работает для меня (Galaxy Tab GT P7500 с Windows 7)
Sarvan

Работал у меня с Android 8.0 и Windows 10
andoni90

Я попытался adb kill-serverбез перезагрузки устройства Android, и это не сработало. Когда я повторяю эти шаги и перезагружаю устройство, как указано в разделе 4, оно работает.
E235

62

Я столкнулся с той же проблемой на Nexus 7 с обновлением 4.2.2 OTA. Я почти уверен, что у меня было соединение ADB через USB и Wi-Fi после обновления, пока оно просто не перестало работать. Чтобы исправить, я обновил свой SDK, используя:

android update sdk --no-ui

Теперь мои инструменты разработки:

  • SDK ред. 16.0.2
  • SDK tools rev 21.1
  • SDK API 17, ред. 2

1
«android» не распознается как внутренняя или внешняя команда, работающая программа или командный файл ». - также сделал "dir android.exe / s" из корня моего диска C: - ничего не нашел - вы используете Linux, или у вас есть какие-то особые биты, которых нет у нас, пользователей Windows?
BrainSlugs83

Да, я использую Linux. android - это скрипт оболочки под ./sdk/tools/, который запускает Java-приложение android SDK Manager. В архиве Windows SDK должен быть сопоставимый скрипт.
dturvene

7
Данная команда может быть использована в Windows, если она выполняется из вашего пути к каталогу \ to \ android-sdk \ tools \
гаджет

4
В Windows 7, чтобы ввести команду из каталога ... \ android-sdk \ tools \ и заставить ее работать, запустите командное окно «Как администратор».
Джон Джорсетт

У меня это работало с Nexus 10 и Galaxy Nexus. Я использую Windows XP SP3. Я попытался изменить порт USB, перезагрузки, Etx .. ничего не помогло, но этот ответ. Я почти собирался переустановить XP, спасибо!
Fer

44

Не могу не подчеркнуть, что переключение портов USB является ключевым. Часто порты USB на передней панели могут быть неисправны.


5
У меня тоже сработало. Иногда кажется, что Nexus 10
потребляет

Ничего себе, после 1/2 часа тупиков, это оказывается, что это проблема питания USB! Спасибо!
bigjosh

Иногда это не дефектный порт. В моем случае во время загрузки Windows USB был подключен, и драйверы ADB загружались неправильно. Просто отключил и снова подключил в тот же порт. Windows чудеса ...
Рикардо BRGWeb

1
Иногда переключение портов работает. Иногда дело в поддержке USB2 и USB3 из различных комбинаций порты + кабель + устройство. Иногда помогает переключение с передних на задние порты или с индикатором «SS» или без него (USB3). Иногда помогает другой кабель.
Джон Адамс

8 часов впустую для меня. Он работает на USB 3.0, но не на USB 2.0 по некоторым причинам (по крайней мере для меня). Никогда не было такой проблемы до сих пор, и вдруг я должен использовать 3.0. Который сейчас тратит один из моих портов 3.0.
Райан

39

Для всех, кто интересуется 4.2.2, на телефоне появляется секретный вопрос с запросом проверки RSA на ПК. Убедитесь, что ваши инструменты обновлены, и вы разрешите доступ к ПК, проверив контрольный вопрос на соответствующих устройствах. Это исправило это для меня.

И, как всегда, убедитесь, что у вас включена отладка в настройках разработчика;)


7
Это сработало для меня, как только я отменил авторизацию отладки USB. Затем отключил и снова включил отладку по USB. Появилось сообщение «Разрешить этот компьютер», и BAM показывалось как устройство, а не как офлайн.
CrazyPenguin

21

Несколько файлов adb.exe?

Моя проблема была решена, когда удалил копию OLD adb.exe из C: / Windows / . Я не знаю, как копия adb.exe попала в C: \ Windows \?

Когда я запускал adb.exe из android-sdk / platform-tools /, у меня не было проблем с обнаружением.


Это то, что случилось со мной. Я думаю, что что-то, что я скачал, чтобы установить ROM два года назад, было виновником.
gengkev

Моя Windows 8 имела ту же проблему, и переименование в c:\windows\adb.exeчто-то другое ( adb.old.exe) решило проблему. Мне даже не нужно было перезагружать или открывать / закрывать командную строку. Это просто работает. Я набрал adb devicesсразу после переименования старого, adb.exeа затем мой Nexus 7 спросил, хочу ли я авторизовать этот компьютер. Я сказал да, и теперь, когда я выпускаю adb devicesвместо «офлайн», он говорит «устройство».
AlexStack

1
Спасибо, это работает! То же самое случилось и со мной, я думаю, что adb.exe копируется в C: \ Windows, когда мы установили драйвер, прилагаемый к устройству.
thinzar00

Как это получилось, хотя: / Я хочу знать
Даниэль Чунг

1
@DanielCheung Для меня это было при установке программ KingORoot и / или ПК KingRoot. Я предполагаю, что они устанавливают версию самостоятельно, потому что они не полагаются на пользователя, имеющего установленный Android SDK. И да, удаление старой (1.0.26) версии, которую он создает из каталога Windows, устранило проблему «офлайн» для меня. :)
Venryx

20

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


2
Это, безусловно, самый простой, надежный и быстрый способ. Я использовал много вариантов всех методов в этой теме. Это единственный, который работает каждый раз. Это всего лишь три нажатия на устройство Android, и проблема исчезла.
Л.Д. Джеймс

18

У меня была эта проблема, и ни один из других ответов не помог. Что было необходимо, после обновления SDK и установки API для 4.2.2, было запущено:

android update adb

Другая проблема, с которой я столкнулся, заключалась в том, что я пытался подключить ADB через Wi-Fi, что является единственным вариантом, потому что USB-порты на моем Mac действительно странные. К сожалению, ADB через Wi-Fi не показывает вопрос безопасности в 4.2.2, поэтому вам нужно найти USB-кабель, который будет работать и подключаться через USB хотя бы один раз, чтобы принять вопрос безопасности, но после того, как вы сделаете это один раз Вы можете подключиться через Wi-Fi.


Это сделало это для меня. Спасибо. С тех пор, как обновлял мой Nexus 7, я бился головой о стену.
Джейсон Саутвелл,

Я перепробовал все на этой странице и на нескольких других сайтах, которые обнаружил Google, и мой телефон HTC под управлением Android 4.0.3 по-прежнему считался офлайн. Я наконец перезапустил телефон и затем устройства adb сказали, что он был онлайн. Чувак, я бы хотел подумать об этом раньше.
Джон Джорсетт

Я получил эту ошибку: устройство в автономном режиме, пока я не нашел ваш комментарий о Wi-Fi - как только я снял свой телефон с Wi-Fi, он работал. Спасибо!
Амуррелл

17

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

adb kill-server
adb start-server
adb devices

Если ваше устройство указано с «устройством» рядом с вами, вы вернулись в бизнес.

Если ваше устройство указано «автономно», попробуйте перезапустить устройство. Время от времени зависает демон ADB на устройстве. Я заметил это больше, когда отключил кабель во время работы LogCat и после переключения с подключения через Wi-Fi или Ethernet.

Если вашего устройства нет в списке, попробуйте найти решения в других ответах, начиная с другого USB-кабеля и порта. Эти дешевые кабели могут испортиться.


Это помогло решить мою проблему (эмулятор андроида показывался как «автономный», но после перезапуска сервера, как описано, он вернулся в режим «устройства»).
Грегори

1
После многих часов попыток найти причину, по которой adb больше не работает, это был фактически кабель!
Мартин Л.

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

Боже мой, я перепробовал все решения, но самый простой - перезагрузить ТЕЛЕФОН - не пришел мне в голову. Это решило мою проблему.
Кибин

Мне пришлось использовать более короткий кабель - тот, который я использую для зарядки телефона, был слишком длинным!
Рик Мортенсен,

12

Обязательно используйте adbиз своей platform-toolsпапки, после обновления инструментов SDK.

Я наконец-то начал работать после того, как понял, что использую устаревшую версию ADB, скопированную в /usr/bin.


где этот usr / bin?
AntWo

8

Иногда это может произойти из-за ошибки сервера ADB (я думаю). Это всегда говорит

"device-name is offline" from adb devices command.

Просто убейте сервер и начните снова. Это сработало для меня.

"adb kill-server"
"adb start-server"

7

Я использовал, adb connect <device_ip>и ни одно из других решений не сработало, потому что моя проблема была на другой стороне. На устройстве мне нужно было stop adbdи перезагрузить его start adbd. Устройство снова подключено к сети.


1
Имел Amazon Fire TV Stick, у которого была эта проблема, соединяющаяся по Wi-Fi. Toggling ADB выключив и снова, adb kill-server, adb start-server, тогда adb connect <device_ip>как предложено выше работал для меня.
chenware

6

Я столкнулся с той же проблемой, что и для меня. сначала подключите телефон через usb, затем убедитесь, что вы проверили ip своего мобильного телефона, который находится в настройках >> о телефоне >> статус, и выполните следующие команды.


adb kill-server
adb start-server
adb tcpip 5555 //it resets port so put port you want to connect
adb connect 192.168.1.30:5555 //ip:port of your mobile to connect
adb devices //you will be connected over wifi


adb tcpip 5555 не сбрасывает порт, он просто устанавливает порт по умолчанию для текущего устройства и должен иметь место после подключения к устройству, а в следующий раз, когда вы подключаетесь к устройству по IP-адресу, даже в сети Wi-Fi, порт не требуется
Ehsan sarshar

5

Я пробовал dturvene и все другие решения, но они не работали. Мне нужен был еще один шаг.

Запустите эти команды

  1. adb kill-server
  2. android update sdk --no-ui
  3. adb start-server

Чтобы убедиться, что это сработало, запустите 'adb version' до и после команд и убедитесь, что это последняя версия. Причина adb kill-serverкоманды в том, что она, скорее всего, работает и не может быть обновлена ​​во время работы, поэтому сначала нужно ее убить.


5

У меня ничего не получалось. Я провел около 12 часов в постоянном поиске в Интернете и пробовал решения, которые работали для других людей, имеющих подобные проблемы.

В конце концов я просто занялся вещанием ADB по локальной сети. Эта настройка была рядом с настройкой отладки USB, и в ADB ее можно активировать с помощью «adb connect [IPADDRESS]: [PORT]». Порт был 5555 на моем телефоне.

Я надеюсь, что это поможет кому-то вернуться к работе вместо того, чтобы иметь дело с постоянными недостатками.


5

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

  1. adb kill-server
  2. Отключите автономное устройство в диспетчере устройств (см. Изображение ниже)
  3. Включить устройство в диспетчере устройств
  4. adb start-server

Диспетчер устройств, меню «Вид», «Устройства по подключению»:

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


4

Изначально я столкнулся с той же проблемой (с ADB / fastboot, загруженным с GitHub ), но в итоге заставил его работать. Что сработало для меня:

  • Android SDK. Версия АБР: 1.0.31
  • Использование порта USB на передней панели ( MacBook Pro 15 ")
  • Перезагрузка телефона после включения параметров Dev и отладки по USB (сделайте это 7 раз, нажав «Настройки»> «О телефоне»> «Сборка»).
  • Убить сервер adb, если в списке нет устройств (adb kill-server)
  • Значок отладки должен быть виден на телефоне.
  • Обязательно разблокируйте экран блокировки, чтобы проверить диалоговое окно подтверждения отпечатка пальца RSA.

4

Установил последнюю версию Android SDK.
Поменял порт USB устройства.
Изменено с MTP -> Только зарядка -> MTP.
Это сработало.


1
Для меня переход с «Передача мультимедийных файлов» на «Передача изображений» (то есть PTP / MTP) устранил проблему (после попытки всех остальных исправлений, включая обновление Android SDK, использование других кабелей, перезапуск ADB, циклический режим разработчика, отключение / отключение / переподключение USB в разные порты и т. д.). К сожалению, этот ответ набрал 0 баллов и был на второй странице, когда я искал ответ, поэтому проголосовал, чтобы попытаться помочь другим в будущем.
Стивен Крафт

3

Если вы ранее безуспешно авторизовали отпечаток пальца RSA на своем компьютере и попробовали adb kill-server и т. Д., Ваша проблема может заключаться в том, что вы пытаетесь подключиться к нему, пока он заблокирован. Попробуйте нажать кнопку включения экрана и ввести свой шаблон - это исправило это для меня.


3

Лучший способ, который я понял, это отключить, а затем включить устройство из диспетчера устройств и выполнить команду adb devices.

  1. Перейдите на вкладку «Пуск» и щелкните правой кнопкой мыши на компьютере.
  2. В раскрывающемся меню выберите пункт « Управление».
  3. На экране управления компьютером нажмите Диспетчер устройств.
  4. На правой панели разверните портативные устройства, чтобы найти свое устройство.
  5. Щелкните правой кнопкой мыши на имени вашего устройства и выберите отключить в выпадающем меню
  6. Когда он отключится, повторите шаг 5, за исключением включения его.

Устройство вернется в онлайн. Это быстрее


3

Еще одна возможность для людей с нестабильными соединениями ADB, и если они на Mac и имеют Android File Transfer : я обнаружил, что передача файлов мешала моему соединению ADB, вызывая прерывистую работу.

Уничтожение Android File Transfer Agent.appпроцесса поиска совместимых устройств (например, Nexus 7), подключенных к Mac, излечивает меня.


1
Это было то, что вызывало проблему для меня на OS X, спасибо!
Adaam

3

Поскольку никто не дал ответа на мою ситуацию: у вас может не быть доступа к файлу ~ / .android / adbkey. Если вы изначально запустите adb с помощью sudo, он сгенерирует пару открытых ключей, записав это в ~ / .android / adbkey.pub и ~ / android / adbkey. Конечно, закрытый ключ - это chmod 600 - только для чтения для пользователя root в вашем домашнем каталоге. Впоследствии запуск adb как обычного пользователя не даст доступа к файлу закрытого ключа, который, в свою очередь, завершится с ошибкой при «отключенном устройстве».


3

Для меня на Mac было решено обновление adbдо последней версии (1.0.32). Теперь я снова вижу свое устройство онлайн


3

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

Когда adb сообщает об устройстве как офлайн, это связано с тем, что демон больше не работает или находится в состоянии, которое не будет принимать соединения. Чаще всего это происходит, если сеть отключается при активном (сетевом) соединении.

Единственный способ исправить это - перезагрузить устройство. Можно прийти к исправлению статуса офлайн многими другими способами, но перезапуск устройства всегда работает.


3

Когда я сталкиваюсь с теми же проблемами, что и ниже:

  1. Перезапустите adb, выполнив adb kill-server, а затем adb start-server в командной строке
  2. Отключить и снова включить отладку по USB на телефоне
  3. Перезагрузка телефона, если он все еще не работает. 99% моих проблем были решены с помощью этих шагов.

4. Попробуйте подключить кабель к другому USB-слоту. Это помогло в моем случае.
Дредкин

2

Это потому, что на вашем компьютере нет подходящего драйвера. Чтобы это исправить:

  1. Загрузите и извлеките Android SDK

  2. Зайдите в Диспетчер устройств (щелкните правой кнопкой мыши Компьютер -> Свойства -> Диспетчер устройств.

  3. На правой панели разверните портативные устройства, чтобы найти ваше устройство.

  4. Щелкните правой кнопкой мыши на имени вашего устройства и выберите Обновить драйвер

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

  6. Перейдите к папке Android SDK на шаге 1.

  7. Далее и все готово


То же самое для меня на Windows 7 и с Nexus 7. Он перестал работать, я удалил драйвер, установил его снова, и он работал
Michał K

В моем случае это драйвер контроллера USB 3.0, который не работает! Не драйвер для телефона!
VCD

2

Попробуйте перезапустить сервер ADB следующим образом:

adb kill-server

adb start-server

Я тоже сталкивался с теми же проблемами, что и вы. И перезапуск сервера adb решит эту проблему.


2

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

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

Правильный обновленный каталог для exe-файла ADB:

C:\Program Files (x86)\Android\android-sdk\platform-tools\

2

Перезагрузите устройство. Я попробовал все перечисленное здесь, чтобы заставить мой телефон HTC (под управлением Android 4.0.3) работать, но adb devicesпродолжал говорить, что он был в автономном режиме. После того, как я перезапустил телефон, он наконец был онлайн. Некоторые другие предложения, приведенные здесь, могли способствовать распознаванию телефона, но выполнение нескольких перезапусков по ходу процесса, безусловно, не повредит.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.