【问题标题】:How do I adb disconnect an emulator and keep it disconnected?如何 adb 断开模拟器并保持断开连接?
【发布时间】:2021-12-22 19:13:40
【问题描述】:

不知何故,我通过 ADB 连接了几个 Android 模拟器,但我无法摆脱它们。

> adb devices -l
List of devices attached
emulator-5554          device product:sdk_gphone_x86 model:sdk_gphone_x86 device:generic_x86_arm transport_id:1
emulator-5556          device product:sdk_gphone_x86 model:sdk_gphone_x86 device:generic_x86_arm transport_id:2

当我adb disconnect 时,它会断开所有连接,但它们几乎立即返回(transport_id 递增)

当我 adb kill-server 然后 adb devices -l 它重新启动 adb 服务器(如预期)并重新连接模拟器。我知道它从 5554 扫描偶数端口:https://developer.android.com/studio/command-line/adb#howadbworks

当我运行模拟器列表设备时,它们没有出现:

> .\emulator.exe -list-avds
Nexus_5_API_30
Pixel_2_API_29_x86_64
Pixel_4a_API_30
Tablet_API_30

我认为我没有在本地安装另一个 Android SDK 模拟器套件。

【问题讨论】:

  • 只有正在运行的模拟器才能显示为设备。杀死他们正在运行的进程

标签: android android-emulator adb


【解决方案1】:

杀死模拟器的正确方法是:

adb -s emulator-5554 emu kill

【讨论】:

    【解决方案2】:

    我设法找到了运行模拟器的进程: 在 Windows 上,使用 Powershell:

    > Get-Process -Id (Get-NetTCPConnection -LocalPort 5554).OwningProcess
    
     NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
     ------    -----      -----     ------      --  -- -----------
        134 4,074.23   1,998.07   2,544.47   12528   1 qemu-system-x86_64-headless
    

    然后使用进程管理器杀死它就可以了。

    【讨论】:

      猜你喜欢
      • 2014-11-09
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-05-24
      • 2013-12-16
      • 1970-01-01
      相关资源
      最近更新 更多