Устройство Android ADB отключено, не может выдавать команды
Я больше не могу подключиться к своему устройству с помощью ADB через командную строку или в Eclipse.
Выполнение команды
adb devices
возвращает имя устройства, но оно говорит, что оно в автономном режиме.
Вещи, которые я пробовал.
- Переключенный режим отладки Android
- Переустановил драйвер Google USB
- Восстановил ОС до ранее работающей резервной копии ( CyanogenMod)
- Поменял шнур USB
- Перезагрузил телефон / компьютер несколько раз
- Обновлен 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
например).
Чинить:
- Отключите соединение USB или отключите Wi-Fi устройства, если вы подключены через Wi-Fi.
- Закройте Android Studio/Eclipse/ другие IDE.
- Бежать
adb kill-server
чтобы убедиться, что ADB не работает. - Перезагрузите ваше устройство Android.
- После перезагрузки устройства подключите его через 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 и все другие решения, но они не работали. Мне нужен был еще один шаг.
Запустите эти команды
adb kill-server
android update sdk --no-ui
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, излечивает меня.
Этот подход работал для меня:
adb kill-server
- Отключите автономное устройство в диспетчере устройств (см. Изображение ниже)
- Включить устройство в диспетчере устройств
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.
- Перейдите на вкладку "Пуск" и щелкните правой кнопкой мыши на компьютере.
- В раскрывающемся меню выберите пункт " Управление".
- На экране управления компьютером нажмите Диспетчер устройств.
- На правой панели разверните портативные устройства, чтобы найти свое устройство.
- Щелкните правой кнопкой мыши на имени вашего устройства и выберите отключить в раскрывающемся меню
- Когда он отключится, повторите шаг 5, за исключением включения его.
Устройство вернется в онлайн. Это быстрее
Я попробовал все вышеперечисленные решения. В основном, проблему решает adb kill-server. На этот раз проблема была в USB-кабеле. Некачественные кабели в модной упаковке не работают.
Когда я сталкиваюсь с теми же проблемами, что и ниже:
- Перезапустите adb, введя adb kill-server, а затем adb start-server в командной строке.
- Отключить и снова включить отладку по USB на телефоне
- 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). Теперь я снова вижу свое устройство онлайн