问题复现
博主用的是雷电模拟器+VMware-Ubuntu虚拟机,雷电模拟器有自己的内部网络,然后虚机用的网络模式也是NAT,因为对这个安卓模拟器的网络结构不是很了解,我尝试直接通过虚机去adb连接NAT内宿主机的IP,命令如下
boychai@lab:~$ sudo adb connect 10.0.0.1:5555
failed to connect to 10.0.0.1:5555
连接是失败的,也尝试过通过打开雷电模拟器的远程ADB调试,依旧是失败的。
解决方案
这里找到了一个通用的解决方案,只要是两个设备网络可以联通即可实现adb的连接,不去别于设备是否为虚机、模拟器、实机,只要是在同网络下都可行。以雷电模拟器为例,在设置
->网络
中有两个选项,第一个是网络连接,默认是开启的,然后第二个是网络桥接模式,把这个打开,第一次打开可能需要安装驱动,跟随提示点击即可,开启后如下图
桥接的网卡,需要选择对应设备可以联通的网络,保存后重启。重启过后安装WiFi ADB - Debug Over Air 2.1.3
这个软件,开启后即可看到连接IP与端口,如下图
安卓模拟器是桥接的我本地WIFI,我虚机的网络是在VMware的NAT网络模式下的,虽然套了一层,但是NAT网络模式下的虚机依旧可以访问到我本地WIFI的所有设备,所以直接通过他给的这个命令就可以直接连接,结果如下
写在后面
WiFi ADB - Debug Over Air 2.1.3
这个软件的官方维护地址没有找到,我是通过下面链接获取到的这个软件,软件链接与原文链接如下
软件原文: https://bbs.kanxue.com/thread-257380.htm
软件链接: https://boychai.lanzout.com/ifxiz2r57bra 密码:52pj