此解决方案适用于Windows。
(请参阅@Chris Knight针对Mac / Linux 的解决方案)
启动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- *条目是垃圾。
每个@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
- 此输出中的最后一个字段是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
真是惊喜 是亚行。正如其他答案所指出的,它也可能是其他程序。
- 现在,只需杀死该进程ID。执行
kill 5944
,用上一条命令中的PID替换5944。
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重新启动(因为之前已被杀死),并且不再检测到伪造的仿真器。
adb devices
获取仿真器的名称。4.尝试执行以下操作来安装APK:adb -s NAME_OF_DEVICE install file.apk
5.告诉我们会发生什么。