我可以在Android模拟器中做什么来将它连接到我的本地主机web服务器页面http://localhost或http://127.0.0.1?
我已经尝试过了,但模拟器仍然需要我的请求,如谷歌搜索localhost或更糟糕的是,它说,它没有找到页面,而我的web服务器正常运行。
我可以在Android模拟器中做什么来将它连接到我的本地主机web服务器页面http://localhost或http://127.0.0.1?
我已经尝试过了,但模拟器仍然需要我的请求,如谷歌搜索localhost或更糟糕的是,它说,它没有找到页面,而我的web服务器正常运行。
当前回答
根据文件:
10.0.2.2 -主机环回接口的特殊别名(例如,开发计算机上的127.0.0.1)
查看模拟器网络以获得更多关于模拟器网络的技巧。
其他回答
对于试图访问本地IIS服务器(ASP.NET)的任何人
对我来说,公认的答案还不够。我必须在applicationhost中添加127.0.0.1的绑定。它是我的ASP. config的根源。网络解决方案。
我在家里的机器上成功地使用了10.0.2.2,但在工作中,它不起作用。在瞎折腾了几个小时之后,我使用Android Virtual Device (AVD)管理器创建了一个新的模拟器实例,最终10.0.2.2运行了。
我不知道其他模拟器实例有什么问题(平台是相同的),但如果您发现10.0.2.2不起作用,请尝试创建一个新的模拟器实例。
localhost指的是运行代码的设备,在本例中是模拟器。
如果您想引用运行Android模拟器的计算机,请使用IP地址10.0.2.2代替。
你可以在这里阅读更多。
根据文件:
10.0.2.2 -主机环回接口的特殊别名(例如,开发计算机上的127.0.0.1)
查看模拟器网络以获得更多关于模拟器网络的技巧。
允许安装PWA
首先,安装Android调试桥:
$ sudo apt install adb android-sdk-platform-tools-common
像往常一样启动你的Android模拟器,例如:
$ ~/Android/Sdk/emulator/emulator -avd Pixel_3a_API_30_x86
然后,在Android模拟器的网桥上配置反向代理,将localhost HTTP请求转发到运行在主机计算机上的localhost服务器的适当端口(例如8000),反之亦然:
$ adb reverse tcp:8000 tcp:8000
一个渐进web应用程序(PWA)正在localhost:8000上提供服务 或者127.0.0.1:8000将是可安装的,并连接到它的service-worker.js。而PWA安装不允许从IP地址10.0.2.2。
注意:adb reverse tcp:8000 tcp:8000需要在每次Android模拟器调用后重新发布。
因此,一个bash脚本启动一个Android模拟器,后面跟着一个反向代理,看起来像这样:
#!/usr/bin/env bash
$HOME/Android/Sdk/emulator/emulator -avd Pixel_3a_API_30_x86 > /dev/null 2>&1
adb reverse tcp:8000 tcp:8000