Android模拟器-5554离线

han*_*sjw 121 android android-emulator

我遇到了模拟器-5554的问题,它一直告诉我它是离线的.

当我adb devices从命令行执行a时,它说

emulator-5554 offline

即使重新启动后,我也会尝试该命令,但它仍然表示它处于脱机状态.

问题是当我尝试使用abd install <path>命令提示符将.apk文件安装到模拟器时,它告诉我它是脱机的,如果我创建另一个设备并运行那个,然后尝试安装.apk文件,它说我有太多设备连接.换句话说,我无法安装我的.apk文件.

我怎么能摆脱那该死的模拟器-5554?我听说如果你重新启动它应该清除所有设备,但这似乎不起作用.就像它在我的电脑启动时被初始化一样.有没有人遇到过这个问题?

谢谢

Xak*_*iru 88

1.只需"擦除数据"即可解决此问题.

在此输入图像描述

2.如果它不起作用,请转到模拟设备并启用开发人员选项>启用USB调试

  • 谢啦.你是当天的救星! (7认同)
  • 只需启用 USB 调试和冷启动就足够了。 (3认同)
  • 从模拟器卸载应用程序对我来说很有效。但是和擦除数据是一样的想法 (2认同)
  • 这有助于与“擦除数据”下方的“立即冷启动”结合使用。 (2认同)

Ksh*_*tal 54

在这种情况下,您可以执行以下所有操作以确保您的模拟器再次开始工作:

  1. 转到cmd并输入"adb kill-server"
  2. 转到任务管理器并在流程中找到"adb".如果找到一个,右键单击它并单击结束进程树.
  3. 在eclipse中,转到Window> Android Virtual Device Manager,单击要启动的AVD,单击开始并取消选中"Launch From Snapshot",然后单击启动.

而已!它需要一段时间,它应该解决您的问题.

  • 在Android Studio中,将虚拟设备Boot Option从Quick Boot更改为Cold Boot适用于我. (6认同)
  • 取消选中"从快照启动"为我做了诀窍! (3认同)

Bri*_*ham 22

Android检测仿真器的方法是从端口5555开始扫描端口.

您在adb devices列表中看到的数字(在您的情况下为5554)将比adb查找打开的端口少一个.

您可能正在运行正在侦听端口5555的进程.要删除"脱机"设备,您需要找到该应用程序并将其关闭或重新配置以侦听其他端口.

  • 谢谢你,“lsof -i tcp:5555”帮助我杀死了正确的进程 (4认同)
  • 不,它始于5554. (2认同)
  • "你可能正在运行正在侦听端口5555的进程".这真的有帮助,因为我们在该端口上运行另一台服务器并且完全忘记了它! (2认同)

CJB*_*JBS 20

此解决方案适用于Windows.

(请参见@克里斯骑士的解决方案苹果机/ 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
Run Code Online (Sandbox Code Playgroud)

在这种情况下,12b80FF443是我的物理设备,而emulator-*条目是垃圾.

  1. Per @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
Run Code Online (Sandbox Code Playgroud)
  1. 此输出中的最后一个字段是PID(进程ID) - 在这种情况下,这两个端口的PID为5944.那么让我们看看这个进程ID是什么.执行: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
Run Code Online (Sandbox Code Playgroud)

真是一个惊喜.这是亚行.正如其他答案所指出的,它也可能是其他程序.

  1. 现在,只需删除此进程ID.执行kill 5944,用上一个命令中的PID替换5944.

PS C:\Users\CJBS> kill 5944
Run Code Online (Sandbox Code Playgroud)
  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
Run Code Online (Sandbox Code Playgroud)

ADB重新启动(因为它之前已被杀死),它不再检测到伪造的虚拟器.


Chr*_*ght 8

如果您使用的是Linux或Mac,并且假设脱机设备是"emulator-5554",则可以运行以下命令:

netstat -tulpn|grep 5554
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

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
Run Code Online (Sandbox Code Playgroud)

这告诉我进程ID 4848(你的可能会有所不同)仍在侦听端口5554.你现在可以使用以下命令终止该进程:

sudo kill -9 4848
Run Code Online (Sandbox Code Playgroud)

而ghost离线设备已不复存在!


小智 8

写就好了

adb -e reboot
Run Code Online (Sandbox Code Playgroud)

并对 adb 感到满意))


Rya*_* Ou 7

就我而言,我发现了一些使adb无法正常工作的过程.
您可以尝试杀死一些奇怪的进程并运行"adb devices"进行测试.

它对我
有用:杀死进程名称MONyog.exe


Dag*_*agW 7

我通过打开我的命令提示解决了这个问题:

adb kill-server

adb设备

启动后,ADB现在可以检测到设备/仿真器.


Vol*_*myr 7

我也有同样的问题.我已经尝试了所有这里描述的解决方案,但他们没有帮助我.然后我删除了Android虚拟设备管理器中的所有模拟器并创建了新模拟器.问题出在Android Virtual Device Manager的CPU/ABI系统映像配置中.在我的Windows10机器模拟器上,系统映像始终处于脱机状态,其中带有系统映像的仿真器正常工作.请注意这一点x86x86_64

  • 非常感谢,我花了很多时间试图让它发挥作用,这就是我的问题 (2认同)

Dha*_*ani 6

在模拟器中启用 USB 调试

  1. 设置>关于手机>版本号>点击7次成为开发者;
  2. 设置 > 开发人员选项 > USB 调试。

这就是享受

  • 重新启用 USB 调试对我有帮助(关闭和打开) (2认同)

Sha*_*jib 6

我终于解决了这个问题,我不得不去开发人员选项设置仿真器,然后向下滚动了一下,打开了USB调试。立刻我的设备在网上被认可,而我不再面临该问题。我尝试重新启动android studio和模拟器,杀死了adb进程,但是这些没有用。

  • @Shamsul,您好,您能描述一下如何在模拟器中从“设置”访问“开发人员选项”吗?我猜你指的是 Android Studio 中的 AVD Manager。我有这个线程中描述的相同问题,并尝试了除您的建议之外的所有建议。我在 AVD 管理器中没有看到模拟器的任何开发人员选项。 (3认同)

Pau*_*lor 6

From the AVD Manager try the "Cold Boot Now" option in the drop-down. It worked for me!

  • 这可能是人们在采用这些过于复杂的其他解决方案之前应该尝试的第一件事...... (5认同)

Sun*_*mar 5

“擦除用户数据”选项终于解决了我的问题。每次启动模拟器时只需擦除用户数据。这总是对我有用!我使用 windows 8 x64 ,eclipse


小智 5

打开你的模拟器,

设置-->关于模拟设备-->反复点击版本号-->打开开发者选项-->打开USB调试