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


134

У мене виникають проблеми з емулятором-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я думаю, що можна використовувати конкретно, який саме пристрій ви хочете, хоч мені незрозуміло, чи останній завжди працює так, як ти думаєш.
Ерханніс

Відповіді:


62

У такому випадку ви можете зробити все наступне, щоб переконатися, що ваш емулятор знову почне працювати:

  1. Перейдіть до cmd та введіть adb kill-server
  2. Перейдіть до менеджера завдань і знайдіть adbу процесах. Якщо ви знайдете його, клацніть правою кнопкою миші та натисніть на кінцеве дерево процесу.
  3. У затемненні перейдіть у вікно> Диспетчер віртуальних пристроїв Android , натисніть AVD, який ви хочете запустити, натисніть на старт і зніміть прапорець " Запустити з знімка ", а потім натисніть на запуск.

Це воно! Мине певний час, і це має вирішити вашу проблему.


Це також працювало на мене (вбивство АБР не вирішило моєї проблеми ні в яких ситуаціях).
Бугер

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

9
У студії Android для мене працює віртуальний пристрій Boot Option з Quick Boot на Cold Boot.
старші

Де я можу знайти налаштування "Запустити зі знімка" в диспетчері пристроїв Android, коли виконую його з Visual Studio 2019?
jacktric

106

1. Просто вирішіть цю проблему "Стерти дані".

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

2. Якщо це не працює, перейдіть на емульований пристрій та увімкніть параметри розробника> увімкніть налагодження usb


1
Видалення програми з емулятора зробило мені справу. Але це та сама ідея, що і витирання даних
Джеймс

1
Це допомогло індексувати комбінацію із "Cold Boot now" трохи нижче "Wipe Data".
С. Гіссел

tks так багато, ви врятували мені день
Manh Nguyen

24

Android визначає емулятори шляхом сканування портів, починаючи з порту 5555.

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

Напевно, у вас працює процес, який прослуховується на порту 5555. Щоб позбутися пристрою "офлайн", вам потрібно буде знайти це додаток і закрити його або налаштувати його для прослуховування іншого порту.


Питання стосувалося АБР. Номери портів 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. Запустіть Powershell для Windows:

    Пуск -> введіть 'powerhell' -> Натисніть ENTER

  2. Виконайте таку команду: adb пристрої


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

У цьому випадку 12b80FF443 - це мій фізичний пристрій, а записи емулятора - це сміття.

  1. Пер @ Брігхем , "спосіб виявлення емуляторів 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 (ідентифікатор процесу) - у цьому випадку це 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

Ось так сюрприз. Це ADB. Як зазначають інші відповіді, це можуть бути і інші програми.

  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

Нарешті я вирішив цю проблему, мені довелося перейти до параметрів Developer з Налаштування в емуляторі , потім трохи прокрутився вниз, увімкнув USB-налагодження. Миттєво мій пристрій було розпізнано в Інтернеті, і я більше не стикався з цим питанням. Я спробував перезапустити андроїд-студію та емулятор , вбивши процес adb , але це не вийшло.



Привіт @Shamsul, чи можете ви описати, як отримати доступ до параметрів розробника через "Налаштування" в емуляторі? Я припускаю, що ви посилаєтесь на AVD Manager в студії Android. У мене є те саме питання, що описане в цій темі, і я спробував усі запропоновані речі, крім вашої пропозиції. Я не бачу жодних параметрів розробника для емулятора в AVD Manager.
Едді

Привіт Едді, звичайна процедура ввімкнення опції для розробника однакова для емулятора та реальних пристроїв. Знайдіть номер відомості про програму в інформації про програмне забезпечення, торкніться її кілька разів, після, можливо, 7-10 натискань, ви побачите, що параметр розробника ввімкнено.
Шамсул Арефін Саджіб

8

Якщо ви працюєте в Linux або Mac, і якщо пристрій офлайн є "емулятор-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 спробуйте параметр "Cold Boot Now" у спадному меню. Це працювало для мене!


Це, мабуть, перше, що люди повинні спробувати, перш ніж
зайнятися

7

У моєму випадку я знайшов якийсь процес, завдяки якому adb не працює добре.
Ви можете спробувати вбити якийсь дивний процес і запустити "adb пристрої" для тестування.

Мені це спрацювало:
вбити ім'я процесу MONyog.exe


7

Я вирішив це, відкривши свою командну команду:

adb kill-сервер

пристрої adb

Після запуску ADB тепер виявляє пристрій / емулятор.


7

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


у моєму випадку, x86 системні зображення Windows 10, мені просто потрібно видалити всі емулятори, а потім відтворити їх
Dika

1
Дякую тобі, я витратив стільки часу, намагаючись змусити це працювати, і це була моя проблема
Брендан Самек

Те саме тут, але на Windows 7.
Віктор Брешан

5

Просто напишіть

adb -e reboot

і будьте задоволені adb))


Це говорить ADB перезавантажити емулятор. Він не може працювати, якщо він позначений офлайн.
shkschneider

працює, якщо ви раніше виконували rm -Rf ~/.androidчистку автономних пристроїв. Найкраща команда і лише одна, щоб вирішити мою проблему. Ні, kill-serverчи start-serverне зробив фокус.
Віктор Р. Олівейра

4

Параметр "стерти дані користувача" остаточно вирішив мою проблему. просто витирайте дані користувачів кожного разу при запуску емулятора. Це завжди працює для мене! Я використовую windows 8 x64, eclipse


спробував усе вище, але працював з очищенням, видаляючи дані користувачів самостійно. Дякую
Sai Ram

@SaiRam, ви не пробували все вище, тому що ця підказка повторювалася у кількох відповідях. Також Cold Boot Nowдопомагає.
CoolMind

@SaiRam, вибач. :) Дякую.
CoolMind

4

Увімкніть налагодження USB в емуляторі

  1. Налаштування> Про телефон> Номер збірки> 7 разів торкніться його, щоб стати розробником;
  2. Налаштування> Параметри розробника> Налагодження через USB.

От і насолоджуйтесь


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

4

Із списку менеджерів AVD у спадному списку дій: Cold Boot Now

перезавантажує його без всякого болю вище.


2

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


Привіт, дякую за відповідь. Я спробував це насправді. Все ще тут. Мені спокушається просто перевстановити все.
hanesjw

2

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


1
Як щодо "adb kill-server"?
DagW

2

У вас встановлені блюстаки? Якщо це зробити, фонові процеси, які він запускає, створюють автономний пристрій "емулятор-5554".

Перейдіть до менеджера завдань і закінчіть усі процеси з описом "Bluestacks"


2

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

тоді adb (фальшиві) пристрої більше не відображатимуться у списку


2

У моєму випадку емулятор працював з Oreo і нижче, але не з Pie, і все, що я намагався, здавалося, не має ефекту. Нарешті працювало оновлення емулятора до останньої (версія 28).


мене теж ... досить дратує
Аналізатор


2

відкрийте емулятор,

налаштування -> про емульований пристрій -> кілька разів натисніть Номер збірки -> відкрити параметри розробника -> відкрити налагодження USB


Проблема полягає в тому, що емулятор просто має чорний екран. Ви можете це зробити лише в тому випадку, якщо ви маєте доступ до налаштувань.
Jeanne vie

1

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

Після цього я одразу зміг використати "adb shell".


1

Спробуйте це ...

  1. Закрийте емулятор, якщо він працює.

  2. Запустіть Емулятор ще раз і зачекайте його в Інтернеті.

  3. введіть Command у командний проміжок та натисніть клавішу ENTER: adb tcpip 5555

(Переконайтеся, що одночасно працює лише один емулятор.)

  1. adb -s emulator-5555 emu kill

  2. Натисніть клавішу Enter ....

  3. Зроблено.

  4. перевірити пристрої командою "adb пристрої" в cmd.


1

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

 adb devices

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


1

Я спробував усе, але для мого випадку працює лише цей: Використовуйте диспетчер SDK та перевстановлюйте системне зображення. Android Studio, натисніть Налаштувати, Менеджер SDK, Запустіть автономний менеджер SDK, Перевірте всі "API API Google x86 * Образ системи", "Intel x86 Atom * System Image" та встановіть. Потім перезапустіть студію Android.

Можливо, вам доведеться переконфігурувати та витерти віртуальний пристрій з диспетчером AVD, переконайтеся, що ви вибрали версію x86


Для мене це працювала версія x86_64, інші не працювали
hiddeneyes02

1

Переконайтесь, що ваша інтеграція ADB інтеграція позначена; перейдіть до Інструменти> Android> Увімкнути інтеграцію ADB.

якщо це не встановлено, перевірте цю опцію та закрийте віртуальний пристрій та відкрийте його знову. це працювало для мене .. удачі !!


1

У мене була така ж проблема зі своїм віртуальним пристроєм. Проблема пов’язана із зображенням Oreo віртуальних пристроїв, у яких інтегровано Play Store. Щоб вирішити цю проблему, я встановив новий пристрій без інтеграції Play Store, і все було добре.

Сподіваюся, це допоможе, до побачення


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


0

У моєму випадку причиною стало те, що я відновив VM з android-x86 всередині. Перезавантаження VM з Android-x86 та перезапуск сервера adb виправили проблему.


0

Це пов’язано з тим, що на вашій машині встановлено ще один віртуальний пристрій. Це можуть бути Bluestacks, оскільки я також зіткнувся з подібною проблемою. Я видалив Bluestacks і перевірив, чи тоді adb devices він працював нормально.

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