Android Studio无法连接模拟器(真机)

1,490 阅读2分钟

小知识,大挑战!本文正在参与「程序员必备小知识」创作活动

场景

Android Studio 在运行项目的时候找不到模拟器或真机。

解决方案

1.打开Terminal

2.根据命令行提示,就可看出是否成功连接模拟器(如下图MUMU模拟器)

各大模拟器地址:

  • 夜神模拟器:adb connect 127.0.0.1:62001

  • 逍遥安卓模拟器:adb connect 127.0.0.1:21503

  • 天天模拟器:adb connect 127.0.0.1:6555

  • 海马玩模拟器:adb connect 127.0.0.1:53001

  • 网易MUMU模拟器:adb connect 127.0.0.1:7555

  • 原生模拟器:adb connect 你的ip地址:5555

3.模拟器(真机就出来了),运行项目即可。

4.IP地址获取。

百度:输入IP轻松搞定。

5.可能产生的问题

问题描述:Invalid argument: cannot open transport registration socketpair could not read ok from ADB Server failed to start daemon * error: cannot connect to daemon

解决办法一

关闭系统自带的防火墙,重启OK(之前一直是关闭的,使用TeamViewer的时候把防火墙打开了)。

另附解决adb端口占用问题解决:

  • 1、adb nodaemon server 查看abd服务是否正常

  • 2、netstat -ano | findstr "5037" 查看adb端口占用情况

  • 3、tasklist|findstr "XXX" 查看占用进程名

  • 4、kill掉占用端口的进程

解决办法二

    1. 插拔下USB连接线
    1. 关闭USB模式再打开
    1. 执行以下命令
adb kill-server  

adb start-server   
  • 4.效果与3相同
DDMS - Devices - Reset adb
    1. 关闭所有PC套件,例如:

杀死 Wandoujia 相关的所有进程,ok

wandoujia_daemon.exe

wandoujia_helper.exe

    1. 查看有几个ADB进程,全部杀死再重新启动ADB
    1. 查看下USB先是否连接电脑与手机
    1. 重启手机
    1. 关闭占用5037端口软件
    1. 更新adb (见问题14)

解决办法三

    1. 查看占用端口5037的PID值
netstat -a -n -o |findstr "5037"

输出结果:

  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       5096
  TCP    127.0.0.1:5037         127.0.0.1:51577        ESTABLISHED     5096
  TCP    127.0.0.1:51577        127.0.0.1:5037         ESTABLISHED     4324
    1. 从上面得知PID = 5096占用了5037端口,现在通过PID查看进程名,看到底哪个进程占用此端口
tasklist /v | findstr 5096

输出结果:

tadb.exe  5096 Console  1  4,932 K Unknown  ......  0:00:02 暂缺

tadb.exe是腾讯管家启动的进程。

    1. 杀死占用5037端口的进程 tadb.exe
taskkill /f -pid 5096
taskkill /im tadb.exe

输出结果 成功: 已终止 PID 为 5096 的进程。