网络地址空间

该模拟器提供了用途广泛的网络功能,供您为自己的应用设置复杂的建模和测试环境。本页将介绍该模拟器的网络架构和功能。

每个实例的虚拟路由器管理 10.0.2/24 网络地址空间。

  • 路由器管理的所有地址都采用 10.0.2.xx 形式,其中 xx 是一个数字。

下表显示了此空间内的地址由模拟器或路由器预先分配的方式:

网络地址 说明
10.0.2.1 路由器或网关地址
10.0.2.2 主机环回接口的特殊别名(开发机器上的 127.0.0.1)
10.0.2.3 第一个 DNS 服务器
10.0.2.4、10.0.2.5、10.0.2.6 可选的第二个、第三个和第四个 DNS 服务器
10.0.2.15 使用以太网连接时所模拟设备的网络
10.0.2.16 通过 Wi-Fi 连接时,模拟设备网络。
127.0.0.1 所模拟设备的环回接口

除了 WLAN 之外,所有正在运行的模拟器实例在通过以太网连接时都使用相同的地址分配。这意味着,如果您的计算机上有两个并发运行的实例,每个实例都有自己的路由器,在路由器后面,每个实例的 IP 地址都是 10.0.2.15。这两个实例由路由器隔离,在同一网络上无法检测到对方。如需了解如何让模拟器实例通过 TCP/UDP 进行通信,请参阅互连模拟器实例

开发机器上的地址 127.0.0.1 对应于该模拟器的环回接口。如果要访问在开发机器环回接口上运行的服务,请改用特殊地址 10.0.2.2

为所模拟的设备预先分配的地址是 Android 模拟器专用的地址,在真实设备上可能截然不同(它们也很可能是经过网络地址转换处理的地址,具体来说,就是路由器或防火墙后面的地址)。

本地网络限制

在模拟器中运行的 Android 应用可以连接到工作站上可用的网络。不过,应用通过模拟器连接,而不是直接连接到硬件,模拟器就像工作站上的普通应用一样。这可能会造成一些限制:

  • 与所模拟设备的通信可能会被您的机器上运行的防火墙程序阻止。
  • 与所模拟设备的通信可能会被您的机器连接到的另一个(物理)防火墙或路由器阻止。

模拟器的虚拟路由器可以处理模拟设备的所有出站 TCP 和 UDP 连接和消息,前提是您的开发计算机的网络环境允许这些连接。除了主机操作系统和网络施加的限制以外,对端口号或范围没有内置限制。

根据具体环境,模拟器可能无法支持其他协议,例如用于“ping”的 ICMP。模拟器不支持 IGMP。 例如,用户无法使用 ping 命令来 ping 宿主机或局域网上的其他设备。