我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
当前回答
我个人不坚持在使用设备时使用本地主机,没有简单的解决方案。
只需启动您连接到本地主机的活动,在那里您可以使用模拟器。无论你从设备得到什么信息都可以轻松生成,并可以作为参数发送给活动。
其他回答
使用netconfig xml并在manifest.xml中分配它是最好的解决方法。这将绕过android默认的https限制。
然而,有一个更好的解决方案。您可以使用IP地址“10.0.2.2”访问您的主机。Android团队就是这样设计的。所以你的web服务器可以完美地运行在本地主机和从你的Android应用程序,你可以通过“http://10.0.2.2:8080”访问它。
最后在Ubuntu中完成,我在localhost:8080上运行nodejs服务器
1)打开终端类型ifconfig 你将得到类似这样的IP: inet addr:192.168.43.17
2)现在简单地把url地址像这样: "192.168.43.17:8080"(8080端口来自本地主机端口号) 例如:“192.168.43.17:8080/fetch”
因为这是一个老问题,有一个新的方法来做这个非常非常简单。下载ADB Chrome扩展,然后按照这些说明:
https://developers.google.com/chrome-developer-tools/docs/remote-debugging
以管理员身份运行CMD
在CMD屏幕上输入ipconfig,屏幕将显示文本
就像这张照片
您可以使用这个IP访问您的本地主机 您必须连接到与您的PC连接的相同网络