我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。

但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。

我错过了什么?


当前回答

使用几个不同的本地主机服务器时遇到了这个问题。通过使用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。只要确保在选项下检查可访问本地网络,它应该在你的手机上工作没有任何问题。

其他回答

它非常简单,- GOTO命令行(Window + R [type cmd]) - type ipconfig,这将显示您PC的当前IP地址-将该IP地址写在您的Android手机浏览器上:80例如(http://192.168.x.x:80)

Done

localhost将出现在你的手机上

在Windows PC上,您可能不需要做任何其他事情,只需使用“ipconfig”命令查找您的IPv4地址。

第一步:用USB线连接你的手机和电脑。 第二步:使用命令'ipconfig'找到你的IPv4地址(路由器的外部IP),例如192.168.1.5。 步骤3:只需从手机浏览器中访问“192.168.1.5:8080”。真的有用!

其他环境细节: Windows 7,谷歌Nexus 4 (4.2.2), Tomcat服务器,Grails应用程序。

你还应该确保你在AndroidManifest文件中有访问internet的权限:

<uses-permission android:name="android.permission.INTERNET"/>

另一件需要检查的事情是,当同时启用2.4G和5G且设备处于不同频率时,一些路由器在桥接请求方面存在问题。尝试禁用其中一个频率,以便两个设备连接到同一个接口。

如果你在Linux上运行 这对我很有用

sudo iptables -F

默认localhost的更简单方法是使用http://localhost:port。这也适用于笔记本电脑和安卓系统。

如果它不工作,然后在android设置您的手机的默认IP 127.0.0.1:端口:)

打开终端并输入:-

 hostname -i
 #127.0.0.1
 hostname -I
 #198.168.*.*