AndroidStudio 中虚拟机连接宿主机(本机)服务

如果后端服务在本电脑的 localhost:8080 的 ip 和端口上,那么直接将该 url 配置到 安卓 代码中,连上的是虚拟机的本地,而非宿主机,导致连接不上跑在本机上的服务

解决方法

打开 cmd 使用 ipconfig 查看本机的 ip地址:

C:\Users\lyh>ipconfig

Windows IP 配置


无线局域网适配器 本地连接* 1:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 本地连接* 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::6a45:d51d:f81a:cbf2%18
   IPv4 地址 . . . . . . . . . . . . : 192.168.10.7
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.10.1

以太网适配器 蓝牙网络连接:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 以太网:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

隧道适配器 Teredo Tunneling Pseudo-Interface:

   连接特定的 DNS 后缀 . . . . . . . :
   IPv6 地址 . . . . . . . . . . . . : 2001:0:2851:b9f0:cad:9373:48a0:e9f
   本地链接 IPv6 地址. . . . . . . . : fe80::cad:9373:48a0:e9f%10
   默认网关. . . . . . . . . . . . . : ::

找到:无线局域网适配器 WLAN ,其中

无线局域网适配器 WLAN:
   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::6a45:d51d:f81a:cbf2%18
   IPv4 地址 . . . . . . . . . . . . : 192.168.10.7  
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.10.1

IPv4 地址 192.168.10.7 就是主机在当前 WiFi 网络中的 IPv4 地址,后续虚拟机在安卓的模拟器中访问主机上的服务,就用这个 ip


注意

  • 确保安卓模拟器和主机连的是 同一个网络(比如同一 Wi-Fi ),不然没法通信。
  • 要是访问失败,检查下主机防火墙,看看是不是把相关端口(像 8080 这类)给拦住了,必要时在防火墙里放通对应应用或端口 。

你可能感兴趣的:(服务器,运维,android,studio,android,网络,ip)