Android模拟器-5554离线

问题描述 投票:103回答:36

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

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

emulator-5554 offline

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

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

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

谢谢

android android-emulator
36个回答
52
投票

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

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

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


5
投票

我终于解决了这个问题,我不得不从模拟器中的Settings转到Developer选项,然后向下滚动一点,打开USB调试。我的设备立即在线识别,我不再遇到这个问题。我尝试重启android studio和模拟器​​,杀死adb进程,但那些没有用。


4
投票

从操作下拉列表中的AVD管理器列表:立即冷启动

重启它没有上面的所有痛苦。


3
投票

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


3
投票

启用USB调试到您的模拟器中

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

这是它的乐趣


2
投票

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


2
投票

你有蓝盾吗?如果这样做,它运行的后台进程将创建脱机设备“emulator-5554”。

转到任务管理器并使用“Bluestacks”的描述结束所有进程


2
投票

写吧

adb -e reboot

并对adb感到满意))


2
投票

在我的情况下,模拟器正在使用Oreo和更低版本,但没有使用Pie,我尝试的所有内容似乎都没有效果。最终工作的是将模拟器更新到最新版本(版本28)。


2
投票

就我而言,我开始使用'Cold Boot Now'并单击Message以允许连接。


1
投票

您是否尝试删除并重新创建AVD?您可以通过转到它们存储在的目录(在用户的/.android/avd子目录中)手动删除AVD文件。


84
投票

1。只需“擦除数据”即可解决此问题。

enter image description here

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


1
投票

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

在那之后我立即能够使用“adb shell”。


1
投票

试试这个 ...

  1. 如果运行,请关闭模拟器。
  2. 再次启动模拟器并等待其在线。
  3. 在commandprompt中输入Command,然后按ENTER键:adb tcpip 5555

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

  1. adb -s emulator-5555 emu kill
  2. 按Enter键....
  3. 完成。
  4. 在cmd中通过命令“adb devices”检查设备。

1
投票

如果模拟器已经打开或正在执行,它将告诉您处于脱机状态。您可以仔细检查命令行(Ubuntu)并执行:

 adb devices

您必须看到您的模拟器脱机,您必须关闭模拟器的运行实例(因为端口将显示为忙),然后您可以运行您的应用程序。希望这有助于某人。


1
投票

我尝试了所有的东西,但只有这个适用于我的情况:使用SDK管理器,并重新安装系统映像。 Android Studio,单击配置,SDK管理器,启动独立SDK管理器,检查所有“Google API Intel x86 * System Image”,“Intel x86 Atom * System Image”并安装。然后重新启动Android工作室。

您可能必须使用AVD Manager重新配置和擦除虚拟设备,请确保选择x86版本。


1
投票

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

如果未选中,请选中此选项并关闭虚拟设备并重新打开。这对我有用..祝你好运!


1
投票

我的虚拟设备遇到了同样的问题。问题是由于集成了Play商店的虚拟设备的Oreo映像。为了解决这个问题,我安装了一个没有Play Store集成的新设备,一切都很好。

希望它有所帮助,再见


1
投票

打开你的模拟器,

设置 - >关于模拟设备 - >重复单击Build number - >打开开发人员选项 - >打开USB调试


0
投票

只需删除并再次创建齿轮avd。它会工作。


0
投票

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


0
投票

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


22
投票

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

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

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


0
投票

在我的情况下,我取消选中“GPU主机”,它的工作:)


20
投票

此解决方案适用于Windows。

(参见适用于Mac / Linux的@Chris Knight's solution

  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(进程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

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

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

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重新启动(因为它以前被杀死了),它不再检测到假的模拟器。


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

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

sudo kill -9 4848

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


7
投票

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

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


7
投票

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

adb kill-server

adb设备

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


7
投票

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


6
投票

从AVD Manager中,在下拉列表中尝试“立即冷启动”选项。它对我有用!

© www.soinside.com 2019 - 2024. All rights reserved.