我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
当前回答
您可以让web服务器在环回接口上侦听,而不是在网络接口上侦听。主要表现为:
在127.0.0.1和localhost(从localhost或Android模拟器)工作 点击192.168.xxx。xxx不能工作,无论是从本地主机,局域网或广域网
我在这里的回答中讨论了更多关于诊断和修复的问题。
其他回答
Windows解决方案:
你无法浏览你的网站,主要是因为你的防火墙( 默认操作系统防火墙或防病毒防火墙)正在阻止传入 连接。
Windows防火墙下:
要允许特定端口上的传入连接,请转到:
控制面板> Windows防御防火墙>高级设置>右侧 单击“入站规则>添加新规则”。 然后: 选择“端口”单选按钮。 输入要在其上启用传入连接的特定端口/范围(服务器正在运行的端口) 选择“允许连接”单选按钮。 单击Next(除非您想更改默认值) 给规则起个名字,然后单击Finish。
注意:
如果您正在使用带有防火墙的防病毒软件,那么上述步骤将不起作用,因为防病毒软件将禁用Windows防火墙,而是运行自己的防火墙。
在这种情况下,根据防病毒程序,转到您的防病毒防火墙设置并打开端口。
使用connectify和xampp或等效,并在移动URL栏上输入ip地址访问
试着转到这个文件: C: \ wamp \ bin \ apache \ Apache2.2.11 \ conf \ httpd . conf
# onlineoffline tag - don't remove
Order Deny,Allow
Allow from all // change it Deny
Allow from 127.0.0.1
并将10.0.2.2修改为您的IP地址。
使用几个不同的本地主机服务器时遇到了这个问题。通过使用Python简单服务器,我的应用程序在几秒钟内就启动并在手机上运行了。它只需要几秒钟,所以在进入任何更复杂的解决方案之前值得一试。首先,确保安装了Python。cmd+r并输入python for Windows或在mac终端输入$ python——version。
下一个:
cd <your project root>
$ python -m SimpleHTTPServer 8000
然后在网络上找到你的主机地址,我使用mac上的系统首选项/共享来找到它。点击它到你的Android设备,应该加载你的index.html,你应该是好的。
如果不是,那么问题是其他的,你可能想看看其他建议的解决方案。好运!
*编辑*
如果你正在使用Chrome浏览器,另一个快速的解决方案是Chrome扩展的Web服务器。我发现这是一种快速和超级简单的方法来访问我的手机上的localhost。只要确保在选项下检查可访问本地网络,它应该在你的手机上工作没有任何问题。
虽然有一个答案已经被接受,但这对我来说很管用:
Make sure both your computer and android device are on same network. get your computer's ip address. (in case of mac type ifconfig inside terminal and look for en0/en1 -> inet it should be something like 19*.16*.1.4.) (on windows, use `ipconfig) Open your mobile settings and go to network-> long press your wifi network-> modify network -> scroll down to advanced options -> chose proxy manual and in proxy hostname type your address i.e. 19*.16*.1.4 inside port enter your port. and save it. search for what is my ip in google chrome, and get your ip, lets say it is 1**.1**.15*.2** try accessing 1**.1**.15*.2**:port/ from your mobile device.
事情就是这么简单。