โซลูชันนี้ใช้สำหรับ Windows
(ดูโซลูชันของ @Chris KnightสำหรับMac / Linux )
เริ่ม Windows Powershell:
เริ่ม -> พิมพ์ 'powershell' -> กด ENTER
เรียกใช้คำสั่งต่อไปนี้: อุปกรณ์ adb
PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656 host
emulator-5652 host
12b80FF443 device
ในกรณีนี้ 12b80FF443 เป็นอุปกรณ์จริงของฉันและรายการจำลอง - * เป็นขยะ
Per @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 (รหัสกระบวนการ) - ในกรณีนี้คือ PID 5944 สำหรับทั้งสองพอร์ตนี้ มาดูกันว่ารหัสกระบวนการนี้คืออะไร ดำเนินการ:
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
ช่างน่าประหลาดใจ. มันคือ ADB ตามที่ระบุไว้ในคำตอบอื่น ๆ อาจเป็นโปรแกรมอื่นด้วย
- ตอนนี้เพียงแค่ฆ่ารหัสกระบวนการนี้ ดำเนินการ
kill 5944
แทนที่ 5944 ด้วย PID ในคำสั่งก่อนหน้า
PS C:\Users\CJBS> kill 5944
- เพื่อยืนยันว่าโปรแกรมจำลองปลอมหายไปให้รันคำสั่งต่อไปนี้อีกครั้ง: อุปกรณ์ adb
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 โดย excecuting:adb -s NAME_OF_DEVICE install file.apk
5. บอกเราว่าเกิดอะไรขึ้น