Эмулятор Android-5554 оффлайн


136

У меня проблема с emulator-5554, он постоянно говорит мне, что он не в сети.

Когда я делаю adb devicesиз командной строки это говорит

emulator-5554 offline

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

Проблема в том, что я пытаюсь установить файлы .apk в эмулятор с помощью abd install <path> из командной строки, он сообщает мне, что он отключен, если я создаю другое устройство и запускаю его, а затем пытаюсь установить файлы .apk, он говорит, что я подключено слишком много устройств. Другими словами, я не могу установить свои файлы .apk.

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

Спасибо


3
Чтобы определить, является ли проблема эмулятором, попробуйте следующее: 1. Откройте эмулятор. 2. Откройте другой эмулятор. 3. adb devicesполучить имена эмуляторов. 4. Попробуйте установить APK, выполнив следующие действия: adb -s NAME_OF_DEVICE install file.apk5. Расскажите, что происходит.
Кристиан,

Я попробую, когда вернусь домой (сейчас на работе), я не знал, что вы можете указать устройство, на которое хотите установить. Это должно быть действительно полезно. Я обновлю через несколько часов. Спасибо за ответ!
hanesjw

Еще раз спасибо за комментарий. Я смог установить apk на эмулятор, делая то, что вы сказали. Отключенный по-прежнему остается в моем списке устройств, но все, что я хотел сделать, это установить этот .apk. Еще раз спасибо, это сработало!
hanesjw

Я думаю, что этот вопрос связан с: stackoverflow.com/questions/6013624/… Попробуйте взглянуть на эту ветку.
плющ

Это не отвечает на ваш вопрос, но может решить вашу проблему - adb -dуказанные USB-устройства, а не эмуляторы, adb -eэмуляторы, а не USB-устройства, и adb -s NAMEя думаю, можно использовать, чтобы указать, какое именно устройство вы хотите, хотя я не уверен, является ли последнее всегда работает так, как ты думаешь.
Erhannis

Ответы:


62

В таком случае вы можете сделать все следующее, чтобы быть уверенным, что ваш эмулятор снова начнет работать:

  1. Перейдите в cmd и введите adb kill-server
  2. Зайдите в диспетчер задач и найдите adb в процессах. Если вы его найдете, щелкните по нему правой кнопкой мыши и щелкните по дереву завершения процесса.
  3. При затмении перейдите в Окно»> «Диспетчер виртуальных устройств Android» , нажмите AVD, который вы хотите запустить, нажмите « Пуск » и снимите флажок « Запуск из моментального снимка », а затем нажмите «Запуск».

Это оно! Это займет время и должно решить вашу проблему.


Это также сработало для меня (убийство ADB не решило мою проблему ни в каких ситуациях).
Booger

как только я убил это дерево процессов, список работающих устройств adb очистился :) он работал. <3 благодарности
DeathRs

10
В Android Studio для меня работает изменение параметра загрузки виртуального устройства с быстрой загрузки на холодную.
eldes

Где я могу найти параметр «Запуск из моментального снимка» в диспетчере устройств Android, когда я запускаю его из Visual Studio 2019?
jacktric

106

1 Просто «Сотрите данные», чтобы решить эту проблему.

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

2 Если это не сработает, перейдите на эмулируемое устройство и включите параметры разработчика> включите отладку по USB.


1
Удаление приложения из эмулятора помогло мне. Но это то же самое, что и стирание данных,
Джеймс

1
Это помогло использовать комбинацию с «Холодной загрузкой сейчас» чуть ниже «Очистить данные».
S. Gissel

Большое
Нгуен

24

Android обнаруживает эмуляторы путем сканирования портов, начиная с порта 5555.

Число, которое вы видите в adb devices списке (в вашем случае 5554), будет на единицу меньше, чем порт, который adb находит открытым.

Вероятно, у вас запущен процесс, который прослушивает порт 5555. Чтобы избавиться от "автономного" устройства, вам нужно будет найти это приложение и закрыть его или перенастроить его для прослушивания другого порта.


Вопрос был про ADB. Номера портов ADB начинаются с 5555.
Бригам,

2
«Вероятно, у вас запущен процесс, который прослушивает порт 5555». Это действительно помогло, так как мы запускали другой сервер на этом порту и полностью о нем забыли!
abhijit

Он всегда начинался с 5554 - на всех моих компьютерах (домашних и рабочих) ... и всегда (5554, 5556, 5558, 5560, ...) при использовании нескольких эмуляторов.
Phantômaxx

Фрэнк, как ты думаешь, почему они все в порядке? Это потому, что Android также использует порты с нечетными номерами между ними.
Бригам

Мне это тоже помогло! У меня был открыт порт на 5555, который отображается как эмулятор 5554 (?). Всем, кто уже пробовал неработающие ответы в стиле «перезагрузить сервер», следует продолжить сканирование портов на своем локальном хосте. Я предполагал, что ADB будет использовать устройства USB более напрямую, не глядя на мои локальные порты и делая предположения о наличии там эмулятора, даже не выполняя проверку протокола.
mvr

22

Это решение для Windows.

(См. Решение @Chris Knight для Mac / Linux )

  1. Запустите Windows Powershell:

    Пуск -> введите 'powershell' -> нажмите ENTER

  2. Выполните следующую команду: adb devices


PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656   host
emulator-5652   host
12b80FF443      device

В данном случае 12b80FF443 - мое физическое устройство, а записи emulator- * - мусор.

  1. Пер @Brigham : «Android обнаруживает эмуляторы путем сканирования портов, начиная с порта 5555.». Номер порта указывается после имени эмулятора (в данном случае 5656 и 5652). Номер порта для проверки - это номер порта эмулятора плюс 1. Так что в этом случае: -

    5656 + 1 = 5657

    5652 + 1 = 5653

    Итак, посмотрим, какая программа использует эти порты. В этом случае оба порта для проверки начинаются с «565». Поэтому я буду искать используемые порты, начиная с 565. Выполните:netstat -a -n -o | Select-String ":565"


PS C:\Users\CJBS> netstat -a -n -o |  Select-String ":565"

  TCP    127.0.0.1:5653         127.0.0.1:5653         ESTABLISHED     5944
  TCP    127.0.0.1:5657         127.0.0.1:5657         ESTABLISHED     5944
  1. Последнее поле в этих выходных данных - это PID (Process ID) - в данном случае это PID 5944 для обоих этих двух портов. Итак, давайте посмотрим, что это за идентификатор процесса. Выполнение: tasklist /v | Select-String 5944. Замените 5944 выводом предыдущей команды:

PS C:\Users\CJBS> tasklist /v | Select-String 5944

adb.exe                       5944 Console                    1      6,800 K Running         MyPCName\CJBS          0:06:03 ADB Power Notification Window

Какой сюрприз. Это АБР. Как отмечается в других ответах, это могут быть и другие программы.

  1. Теперь просто убейте этот идентификатор процесса. Выполните kill 5944, заменив 5944 на PID в предыдущей команде.

PS C:\Users\CJBS> kill 5944
  1. Чтобы убедиться, что ложный эмулятор исчез, повторно запустите следующую команду: adb devices

PS C:\Users\CJBS>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
12b80FF443      device

ADB перезапускается (поскольку он был ранее убит), и он больше не обнаруживает поддельные эмуляторы.


9

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


1
ты герой!
Фелипе Кастильос,

Привет, @Shamsul, не могли бы вы описать, как получить доступ к параметрам разработчика в настройках в эмуляторе? Я полагаю, вы имеете в виду AVD Manager в Android Studio. У меня такая же проблема, как описано в этой теме, и я пробовал все, что было предложено, кроме вашего предложения. Я не вижу опций разработчика для эмулятора в AVD Manager.
Эдди

Привет, Эдди, обычная процедура включения опции разработчика одинакова для эмулятора и реальных устройств. Найдите номер сборки в информации о программном обеспечении, нажмите на него несколько раз, возможно, после 7-10 нажатий вы увидите, что опция разработчика включена.
Шамсул Арефин Саджиб

8

Если вы используете Linux или Mac и предполагаете, что автономное устройство - «emulator-5554», вы можете запустить следующее:

netstat -tulpn|grep 5554

Что дает следующий результат:

tcp        0      0 127.0.0.1:5554          0.0.0.0:*               LISTEN      4848/emulator64-x86
tcp        0      0 127.0.0.1:5555          0.0.0.0:*               LISTEN      4848/emulator64-x86

Это говорит мне, что идентификатор процесса 4848 (ваш, вероятно, будет другим) все еще прослушивает порт 5554. Теперь вы можете убить этот процесс с помощью:

sudo kill -9 4848

и призрачного оффлайн-устройства больше нет!


8

Из AVD Manager попробуйте опцию «Cold Boot Now» в раскрывающемся списке. Это сработало для меня!


Вероятно, это первое, что люди должны попробовать, прежде чем
прибегать к

7

В моем случае я нашел какой-то процесс, из-за которого adb не работает.
Можно попробовать убить какой-нибудь странный процесс и запустить "adb devices" для проверки.

Это сработало для меня:
убить имя процесса MONyog.exe


7

Я решил это, открыв командную строку:

adb kill-server

устройства adb

После запуска ADB теперь определяет устройство / эмулятор.


7

У меня тоже была такая же проблема. Я пробовал все описанные здесь решения, но они мне не помогли. Затем я удалил все эмуляторы в диспетчере виртуальных устройств Android и создал новые. Проблема заключалась в конфигурации образа системы CPU / ABI в диспетчере виртуальных устройств Android . На моем компьютере эмулятор Windows10 с образом системы x86всегда отключен, а эмулятор с образом системы x86_64работает нормально, как и ожидалось. Просто имейте в виду это


в моем случае система x86 образует Windows 10, мне просто нужно удалить все эмуляторы, а затем воссоздать их
Дика

1
Большое спасибо, я потратил столько времени, пытаясь заставить это работать, и это была моя проблема
Брендан Самек

То же самое здесь, но на Windows 7.
Виктор Брешан

5

Просто пиши

adb -e reboot

и будь доволен adb))


Это говорит ADB перезагрузить эмулятор. Он не может работать, если он отмечен как офлайн.
Шкшнайдер

работает, если вы ранее выполняли rm -Rf ~/.androidочистку автономных устройств. Лучшая команда и единственная для решения моей проблемы. Нет, kill-serverили все start-serverполучилось.
Виктор Р. Оливейра

4

Опция «стереть данные пользователя» наконец решила мою проблему. просто стирайте пользовательские данные каждый раз при запуске эмулятора. У меня это всегда работает! Я использую windows 8 x64, eclipse


попробовал все вышеперечисленное, но работал только с очисткой пользовательских данных с стиранием.Спасибо
Сай Рам

@SaiRam, вы не пробовали все выше, потому что эта подсказка повторялась в нескольких ответах. Также Cold Boot Nowпомогает.
CoolMind

@SaiRam, извини. :) Спасибо.
CoolMind

4

Включите USB-отладку в свой эмулятор

  1. Настройки> О телефоне> Номер сборки> Нажмите 7 раз, чтобы стать разработчиком;
  2. Настройки> Параметры разработчика> Отладка по USB.

Это нравится


Мне помогло повторное включение отладки по USB (выключение и включение)
Максим Мазурок

4

Из списка диспетчера AVD в раскрывающемся списке действий: Холодная загрузка сейчас

перезапускает его без всякой боли выше.


2

Вы пытались удалить и воссоздать AVD? Вы можете вручную удалить файлы AVD, перейдя в каталог, в котором они хранятся (в подкаталоге вашего пользователя /.android/avd).


Привет, спасибо за ответ. Я действительно пробовал это. Все еще там. У меня возникает соблазн просто все переустановить.
hanesjw

2

Перейдите в диспетчер задач Windows и завершите процесс «adb.exe». Может быть более 1 экземпляра одного и того же процесса, обязательно завершите их все.


1
Как насчет "adb kill-server"?
DagW 07

2

У вас установлены bluestacks? Если вы это сделаете, фоновые процессы, которые он запускает, создают автономное устройство «emulator-5554».

Зайдите в диспетчер задач и завершите все процессы с описанием "Bluestacks"


2

на linux или mac заблокированный порт будет emulator-id + 1, поэтому 5555 так: sudo lsof -i :5555 покажет вам pid процесса, который принимает порт (должен быть второй столбец), чтобы его убить: sudo lsof -i :5555 | awk '{print $2}' | xargs kill

тогда adb (поддельные) устройства больше не будут отображаться в списке


2

В моем случае эмулятор работал с Oreo и ниже, но не с Pie, и все, что я пробовал, похоже, не имело никакого эффекта. Наконец, сработало обновление эмулятора до последней версии (версия 28).


меня тоже ... довольно раздражает
Analizer

2

В моем случае я начал с «Холодной загрузки сейчас» и нажал «Сообщение», чтобы разрешить соединение.


2

откройте свой эмулятор,

настройка -> об эмулируемом устройстве -> повторно нажимайте номер сборки -> откройте параметры разработчика -> откройте отладку USB


Проблема в том, что у эмулятора просто черный экран. Вы можете сделать это, только если у вас есть доступ к настройкам.
Жанна против

1

Я обнаружил, что среда эмуляции работает как "оффлайн", когда ревизия adb, которую я использую, не была последней. Я правильно обновил свои пути (и удалил старую версию adb), и после "adb kill-server", "adb devices" среда эмуляции больше не появлялась как "офлайн".

После этого я сразу же смог использовать "adb shell".


1

Попробуй это ...

  1. Закройте эмулятор, если он запущен.

  2. Снова запустите эмулятор и дождитесь его онлайн.

  3. введите команду в командной строке и нажмите клавишу ВВОД: adb tcpip 5555

(Убедитесь, что одновременно работает только один эмулятор.)

  1. adb -s emulator-5555 убить эму

  2. Нажмите клавишу Enter ....

  3. Готово.

  4. проверьте устройства командой "adb devices" в cmd.


1

Если эмулятор уже открыт или выполняется, он сообщит вам, что он не в сети. Вы можете дважды проверить в командной строке (Ubuntu) и выполнить:

 adb devices

Вы должны увидеть свой эмулятор в автономном режиме, вы должны закрыть работающий экземпляр эмулятора (поскольку порт будет отображаться как занятый), и после этого вы можете запустить свое приложение. Надеюсь, это кому-нибудь поможет.


1

Я пробовал все, но в моем случае работает только этот: используйте диспетчер SDK и переустановите образ системы. Android Studio, нажмите «Настроить», «Диспетчер SDK», «Запустить автономный диспетчер SDK», проверьте все «Google APIs Intel x86 * System Image», «Intel x86 Atom * System Image» и установите. Затем перезапустите Android Studio.

Возможно, вам придется перенастроить и стереть виртуальное устройство с помощью AVD Manager, убедитесь, что вы выбрали версию x86.


У меня работает версия x86_64, остальные не работали
hiddeneyes02

1

Убедитесь, что ваша интеграция с ADB отмечена флажком; перейдите в Инструменты> Android> Включить интеграцию ADB.

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


1

У меня была такая же проблема с моим виртуальным устройством. Проблема связана с образом Oreo виртуальных устройств, в которые интегрирован Play Store. Чтобы решить эту проблему, я установил новое устройство без интегрированного Play Store, и все было в порядке.

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


какая странная ситуация, но она исправила и для меня.
reidisaki


0

В моем случае причина заключалась в том, что я возобновил работу виртуальной машины с android-x86 внутри. Перезагрузка виртуальной машины с Android-x86 и перезапуск сервера adb устранили проблему.


0

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

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