如何配置 android 模拟器,让服务器应用监听 10.0.2.15 而不是 192.168.xx.xx?
How to configure android emulator, so server apps listen to 10.0.2.15 instead of 192.168.xx.xx?
对于服务器应用程序,我的意思是例如kWS,或微型 Web 服务器。
我正在尝试完全理解 Android Emulator's virtual routing setup,希望我将来能够使用模拟器测试联网应用程序。
例如,我正在关注链接指南的 "interconnecting emulator instances" 部分:
- A是我的开发机
- B 是我的第一个模拟器实例,运行 在 A
上
我发现我可以在模拟器 B 的浏览器中打开 10.0.2.2,以访问 A 上的服务器 运行。
我还看到我可以远程登录到模拟器 B,以设置 redir 规则,以便可以将对 A 的请求路由到模拟器 B。
但是,当尝试从 A 连接到模拟器 B 上的服务器 运行 时,
我意识到我无法启动安装到模拟器 B 的服务器应用程序并让它们收听 10.0.2.15。
因此,我无法测试并确保我的 redir 规则有效。
这是 Android AVD 模拟器的预期行为吗?还是我错过了什么?
我必须开发自己的应用程序来收听 10.0.2.15 而不管模拟器的以太网 IP,
并使用从 A 到 B 的 redir 规则进行测试?
或者有没有办法启动像 kWS 这样的服务器应用程序来收听 10.0.2.15,也许可以通过配置模拟器 B 在 adb shell 的 ifconfig (wlan0) 而不是 192 中显示 10.0.2.15。 168.xx.xx?
我的模拟器(B、C)都显示前缀为 192 的不同 IP。168.xx.xx(不同的子网,与我的本地 LAN 设置无关,也与 A 的 physical/virtual 以太网适配器设置无关).
如有任何见解,我们将不胜感激;谢谢!
我发现我可以使用 "adb forward" 将对机器 A 的请求转发到模拟器 B。
资料来源:
这样,我应该能够设置一个静态环境来测试两个模拟器实例之间的网络功能。每个都必须连接到 A 的端口才能转发给另一个。
仍然不确定这是最好的方法;我认为最好能够在模拟器 B 的浏览器中键入 10.0.2.15:port 并访问其自己的服务器。
对于服务器应用程序,我的意思是例如kWS,或微型 Web 服务器。
我正在尝试完全理解 Android Emulator's virtual routing setup,希望我将来能够使用模拟器测试联网应用程序。
例如,我正在关注链接指南的 "interconnecting emulator instances" 部分:
- A是我的开发机
- B 是我的第一个模拟器实例,运行 在 A 上
我发现我可以在模拟器 B 的浏览器中打开 10.0.2.2,以访问 A 上的服务器 运行。
我还看到我可以远程登录到模拟器 B,以设置 redir 规则,以便可以将对 A 的请求路由到模拟器 B。
但是,当尝试从 A 连接到模拟器 B 上的服务器 运行 时,
我意识到我无法启动安装到模拟器 B 的服务器应用程序并让它们收听 10.0.2.15。
因此,我无法测试并确保我的 redir 规则有效。
这是 Android AVD 模拟器的预期行为吗?还是我错过了什么?
我必须开发自己的应用程序来收听 10.0.2.15 而不管模拟器的以太网 IP, 并使用从 A 到 B 的 redir 规则进行测试?
或者有没有办法启动像 kWS 这样的服务器应用程序来收听 10.0.2.15,也许可以通过配置模拟器 B 在 adb shell 的 ifconfig (wlan0) 而不是 192 中显示 10.0.2.15。 168.xx.xx?
我的模拟器(B、C)都显示前缀为 192 的不同 IP。168.xx.xx(不同的子网,与我的本地 LAN 设置无关,也与 A 的 physical/virtual 以太网适配器设置无关).
如有任何见解,我们将不胜感激;谢谢!
我发现我可以使用 "adb forward" 将对机器 A 的请求转发到模拟器 B。 资料来源:
这样,我应该能够设置一个静态环境来测试两个模拟器实例之间的网络功能。每个都必须连接到 A 的端口才能转发给另一个。
仍然不确定这是最好的方法;我认为最好能够在模拟器 B 的浏览器中键入 10.0.2.15:port 并访问其自己的服务器。