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

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

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

adb devices

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

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

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

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

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

68 ответов

Решение

Я только что получил ту же проблему сегодня после того, как мой 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 дважды (один раз, чтобы обновить себя), прежде чем вы увидите последние пакеты.

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

Это также часто происходит, когда вы подключаетесь к устройству в режиме 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. Ваше устройство должно снова быть в сети.

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

Я столкнулся с той же проблемой на 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

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

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

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

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

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

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

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

adb kill-server
adb start-server
adb devices

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

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

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

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

android update adb

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

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

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

Я столкнулся с той же проблемой, что и для меня. сначала подключите телефон через 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

Я наткнулся на этот вопрос, пытаясь подключиться с помощью встроенной функции «Wireless ADB», присутствующей в Android 11.

Я не мог подключить его должным образом. Всегда отображается как «офлайн».

Я сделал следующее:

Сначала отключите все устройства ADB, как хорошую меру:

      adb disconnect

Затем в параметрах разработчика войдите в функцию «Wireless ADB», если вы еще этого не сделали. Перейдите в раздел «Сопряжение с помощью PIN-кода» или аналогичный. Там IP и порт появятся в диалоговом окне вместе с булавкой. Подключитесь к телефону, используя:

      adb pair 192.168.2.xxx:42838 # Put the IP and port of that dialog in this way

(Обратите внимание, что порт в главном окне и во всплывающем окне с PIN-кодом НЕ совпадают)

Ваш (ПК) ADB запросит у вас пин-код. Введите его и нажмите ENTER.

После этого всплывающее окно с PIN-кодом на телефоне должно исчезнуть, а имя компьютера должно появиться в списке доверенных устройств в главном окне.

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

      adb connect 192.168.2.xxx:53548 # This time use the port shown in the main window!

Он должен подключиться, и все готово.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

adb reconnect offline - нажмите на соединение со стороны устройства, чтобы принудительно переподключить

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

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

У меня хитроумное USB-соединение, поэтому я попытался включить Wi-Fi. Пробовал практически все здесь, но одно я не пробовал до последнего, и вдруг все заработало! Итак, если вы в конечном итоге застряли, попробуйте следующие шаги:

 1. Connect with USB cord
 2. adb devices
List of devices attached
HT85X1A00342    device
10.0.0.43:5555  offline

 3. adb usb
restarting in USB mode

 4. adb reconnect
reconnecting HT85X1A00342 [device]

 5. adb tcpip 5555
restarting in TCP mode port: 5555

 6. adb devices
List of devices attached

 7. adb connect 10.0.0.43:5555
connected to 10.0.0.43:5555

Сладкий! Я не знаю точно, помогло ли принудительное перезапуск режима USB, а затем TCP/IP по порядку, или только последние три команды, но явно он начал работать. Я также обнаружил, что есть опция разработчика для включения отладки по Wi-Fi, и вы выбираете свою точку доступа. Это также может помешать его работе, так что проверьте и это.

Удачи!

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

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

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

Я попробовал все вышеперечисленные решения. В основном, проблему решает adb kill-server. На этот раз проблема была в USB-кабеле. Некачественные кабели в модной упаковке не работают.

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

  1. Перезапустите adb, введя adb kill-server, а затем adb start-server в командной строке.
  2. Отключить и снова включить отладку по USB на телефоне
  3. Rebooting the phone if it still doesn't work. 99% of my issues have been resolved with these steps.

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

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

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

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

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

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

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