Android模拟器-5554离线

我遇到了emulator-5554的一个问题,它一直告诉我它是离线的。

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

emulator-5554 offline

即使重新启动之后,我仍尝试执行该命令,但仍然表示它处于脱机状态。

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

如何在世界上我可以摆脱那该死的模拟器-5554? 我听说如果你重新启动,它应该清除所有的设备,但似乎没有工作。 这就像我的电脑启动时它正在初始化。 有没有人遇到这个问题?

谢谢

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

  1. 转到cmd并input“adb kill-server”
  2. 转到任务pipe理器,在进程中find“adb”。 如果你find一个,右键单击它并点击结束进程树。
  3. 在eclipse中,转到Window> Android虚拟设备pipe理器,点击你想启动的AVD,点击开始,取消选中“从快照启动”,然后点击启动。

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

Android检测模拟器的方式是扫描从端口5555开始的端口。

您在adb devices列表中看到的数字(在您的情况下为5554)将比adb正在查找的端口less一个。

您可能正在运行一个正在侦听端口5555的进程。要摆脱“离线”设备,您需要find该应用程序并closures它,或重新configuration它以侦听不同的端口。

1。 只需“擦除数据”来解决这个问题。

在这里输入图像说明

2。 如果不起作用,请转到仿真设备并启用开发人员选项>启用USBdebugging

该解决scheme适用于Windows。

(请参阅@Chris Knight针对Mac / Linux 的解决scheme )

  1. 启动Windows Powershell:

    开始 – >input“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. Per @Brigham ,“Android检测模拟器的方式是扫描端口5555开始的端口”。 端口号在仿真器名称之后(在这种情况下是5656和5652)。 要检查的端口号是仿真器端口号加1.所以在这种情况下:

    5656 + 1 = 5657

    5652 + 1 = 5653

    那么让我们看看哪个程序正在使用这些端口。 在这种情况下,要检查的端口以“565”开头。 因此,我将search从565开始使用的端口。执行: netstat -a -n -o | Select-String ":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(进程ID) – 在这种情况下,这两个端口都是PID 5944。 那么让我们来看看这个进程ID是什么。 执行: tasklist /v | Select-String 5944 tasklist /v | Select-String 5944 。 将5944replace为上一个命令的输出:

 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 

真是一个惊喜。 这是亚行。 正如其他答案所指出的那样,也可能是其他scheme。

  1. 现在,杀死这个进程ID。 执行kill 5944 ,用前一个命令中的PIDreplace5944。

 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不能正常工作的过程。
你可以尝试杀死一些奇怪的进程并运行“adb devices”来testing。

它为我工作:
杀死进程名称MONyog.exe

我通过打开我的commandprompt来解决这个问题:

adb kill-server

adb设备

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

如果您在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 

而幽灵离线设备不再是!

转到Windows任务pipe理器,并结束进程“adb.exe”。 可能有多个同一个进程的实例,请确保结束所有进程。

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

你有没有安装蓝色的东西? 如果这样做,它运行的后台进程会创build离线设备“emulator-5554”。

转到任务pipe理器,并结束所有与“Bluestacks”描述的stream程

启用USBdebugging到您的模拟器

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

这就是享受

你有没有尝试删除和重新创build你的AVD? 您可以手动删除AVD文件,方法是转到存储目录(位于用户的/.android/avd子目录中)。

我发现当我使用的adb修订版本不是最近的时候,仿真环境出现“脱机”。 我正确地更新了我的path(并删除了旧的adb版本),并且在“adb kill-server”,“adb devices”上,仿真环境不再变成“离线”。

在那之后,我马上就可以使用“adb shell”了。

尝试这个 …

  1. 如果运行,closures模拟器。

  2. 再次启动模拟器并等待其在线。

  3. 在commandprompt中input命令,然后按ENTER键:adb tcpip 5555

(确保一次只运行一个模拟器。)

  1. adb -s emulator-5555 emu kill

  2. 按Enter键….

  3. 完成。

  4. 通过cmd命令“adb devices”检查设备。

如果模拟器已经打开或正在执行,它会告诉你离线。 您可以仔细检查命令行(Ubuntu)并执行:

  adb devices 

你必须离线看你的模拟器,你必须closures模拟器的运行实例(因为端口将显示为忙),然后你可以运行你的应用程序。 希望这有助于某人。

写吧

 adb -e reboot 

并与adb开心))

我尝试了一切,但只有这一个适用于我的情况:使用SDKpipe理器,并重新安装系统映像。 Android Studio,点击configuration,SDKpipe理器,启动独立SDKpipe理器,检查所有“Google APIs Intel x86 * System Image”,“Intel x86 Atom * System Image”并安装。 然后重新启动Android工作室。

您可能需要重新configuration并使用AVD Manager擦除虚拟设备,请确保selectx86版本。

确保您的启用ADB集成已标记; 转到工具> Android>启用ADB集成。

如果没有选中,请选中此选项并closures虚拟设备并重新打开。 这对我工作..祝你好运!

我也有同样的问题。 我已经尝试了所有在这里描述的解决scheme,但他们没有帮助我。 然后我删除了Android虚拟设备pipe理器中的所有模拟器,并创build了新的模拟器。 问题出在Android虚拟设备pipe理器的 CPU / ABI系统映像configuration中。 在我系统映像x86 Windows10机器模拟器上,系统映像x86_64模拟器工作正常。 只要知道这一点

简单地删除和创buildgear avd。它会工作。

在我的情况下,原因是我已经恢复了一个虚拟机内的android-x86。 用Android-x86重新启动虚拟机并重新启动adb服务器解决了问题。

这是因为您的计算机上安装了另一个虚拟设备。 这可能是Bluestacks,因为我也面临类似的问题。 我卸载Bluestacks,然后检查ADB adb devices它运行良好。

在我的情况下,我没有选中“GPU主机”和它的工作:)

只需擦除AVDpipe理器中的用户数据,然后inputadb kill-server和adb设备。 擦除数据还可以节省系统中的大量内存空间。

我会在这里添加另一个可能的解决scheme,这是我的情况。

我发现有一个名为SpiceWorksEventProcessor的进程正在捆绑端口5555,显然是被adb读为模拟器。 杀死这个过程终于为我删除了那个顽固的仿真器设备。

我不确定这是什么东西,但是如果你有它,这可能是你的离线模拟器的原因。

干杯

在linux或mac上,被阻塞的端口将会仿真器id + 1,所以5555是这样的: sudo lsof -i :5555会告诉你进程端口的pid(应该是第二列),以杀死它: sudo lsof -i :5555 | awk '{print $2}' | xargs kill sudo lsof -i :5555 | awk '{print $2}' | xargs kill

那么adb(假)设备将不再显示在列表中

以上所有的答案没有帮助,然后我删除和重新创build模拟器都工作正常

在MAC中,可以使用Activity Monitor实用程序,因为与Linux不同,我们不能在MAC中使用netstat -tulpn命令。 search模拟器的运行实例,通常是qemu-system-i386 。 杀死那个实例,你将看不到任何一个鬼模拟器在运行。

抓取活动监视器实用程序最简单的方法是使用聚光灯search。 只需点击cmd-space并键入Activity Monitor