首页 文章

Android模拟器-5554离线

提问于
浏览
101

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

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

emulator-5554 offline

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

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

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

谢谢

30 回答

  • 5

    Enable USB Debugging into your emulator

    • 设置>关于手机>内部版本号>点击7次成为开发者;

    • 设置>开发人员选项> USB调试 .

    这是它的乐趣

  • 1

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

  • 64

    我用'Xamarin','Android','adb','Google','AVD'或任何类型的模拟器解决了我生命中无所事事的问题,因为整个混乱只是一堆热气腾腾的未经检验的粪便排泄物

  • 0

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

  • 48

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

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

  • 15

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

    • 转到cmd并输入"adb kill-server"

    • 转到任务管理器并在进程中找到"adb" . 如果找到一个,右键单击它并单击结束进程树 .

    • 在eclipse中,转到Window> Android Virtual Device Manager,单击要启动的AVD,单击开始并取消选中"Launch From Snapshot"然后单击启动 .

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

  • 2

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

    enter image description here

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

  • 6

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

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

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

  • 0

    此解决方案适用于Windows .

    (有关 Mac/Linux ,请参阅@Chris Knight's solution

    • 启动Windows Powershell:

    开始 - >键入'powershell' - >按ENTER键

    • 运行以下命令: adb devices

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

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

    • Per @Brigham,"The way that Android detects emulators is by scanning ports starting at port 5555." . 端口号在仿真器名称后面指示(在本例中为5656和5652) . 要检查的端口号是模拟器端口号加1.所以在这种情况下: -

    5656 1 = 5657

    5652 1 = 5653

    所以让's see which program is using these ports. In this case, the ports to check both start with 2635798 . So I' ll搜索从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
    
    • 此输出中的最后一个字段是PID(进程ID) - 在这种情况下,它会查看此进程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
    

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

    • 现在,只需删除此进程ID即可 . 执行 kill 5944 ,将5944替换为上一个命令中的PID .

    PS C:\Users\CJBS> kill 5944
    
    • 要确认虚假仿真器已消失,请重新运行以下命令: 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重新启动(因为它之前已被杀死),它不再检测到伪造的虚拟器 .

  • 0

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

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

  • 1

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

    adb kill-server

    adb设备

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

  • 21

    我也有同样的问题 . 我've tried all described here solutions but they didn' t帮助我 . 然后我删除了Android虚拟设备管理器中的所有模拟器并创建了新模拟器 . 问题出在Android虚拟设备管理器的 CPU/ABI 系统映像配置中 . 在我的Windows10机器模拟器上,系统映像 x86 始终处于脱机状态,其中模拟器与系统映像 x86_64 正常工作正常 . 请注意这一点

  • 0

    如果您使用的是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离线设备已不复存在!

  • 1

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

    没有重启它以上所有的痛苦 .

  • 3

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

  • 2

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

  • 1

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

  • 2

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

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

  • 0

    写吧

    adb -e reboot
    

    并对adb感到满意))

  • 2

    试试这个 ...

    • 如果正在运行则关闭模拟器 .

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

    • 在commandprompt中输入命令,然后按ENTER键:adb tcpip 5555

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

    • adb -s emulator-5555 emu kill

    • 按Enter键....

    • 完成 .

    • 通过cmd中的命令“adb devices”检查设备 .

  • 0

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

    adb devices
    

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

  • 1

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

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

  • 4

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

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

  • 4

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

  • 7

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

  • 1

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

  • 2

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

  • 1

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

  • 6

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

  • 2

    我将在这里添加另一个可能的解决方案,这就是我的情况 .

    我发现有一个叫做的过程SpiceWorksEventProcessor正在运行,它正在占用端口5555,并且显然被adb作为模拟器读取 . 杀死这个过程终于为我删除了这个顽固的模拟器设备 .

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

    干杯

相关问题