我在 Windows 上使用 Android 模拟器。 Android 开发人员文档表示,模拟器的每个实例都在虚拟路由器/防火墙服务后面运行。每个实例的虚拟路由器管理 10.0.2/24 网络地址空间。但是,当我使用以下命令连接到模拟器时adb shell
and do ifconfig
,我得到以下输出:
radio0 链接 encap:UNSPEC
inet 地址:192.168.200.2 广播:192.168.200.255 掩码:255.255.255.0
wlan0 链接 encap:UNSPEC
inet 地址:192.168.232.2 广播:192.168.239.255 掩码:255.255.248.0
ip route show
给我以下输出
192.168.200.0/24 dev radio0 原型内核范围链接 src 192.168.200.2
192.168.232.0/21 dev wlan0 原型内核范围链接 src 192.168.232.2
我没有看到任何 10.2.x.x IP 地址。这些ip地址在哪里?
另外,虚拟路由器是在模拟器中运行(在 Android 操作系统上)还是在 Windows 上运行?如何检查虚拟路由器?
我在 Windows 上运行 Android 7.1.1 (API 25) 时遇到同样的问题。
但是当我模拟 Android 7.0 (API 24) 时,它按预期工作。设备获取 IP 10.0.2.15。在这种情况下ip route show
将带来 10.2.x.x 地址。因此,如果您可以只使用以前的版本(API 16 - API 24)。
该路由器存在于模拟器内部,Windows 不知道它。
如果需要从 Windows 访问模拟器内运行的服务,则需要添加端口映射:
telnet localhost 5554
auth <token from 'C:\Users\{user}\.emulator_console_auth_token'>
redir add tcp:8080:8080
然后您可以通过以下方式访问您的服务:127.0.0.1:8080。但是,此方法不适用于 Android 7.1.1。我不知道有什么问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)