我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
当前回答
“Chrome for Android的端口转发让你更容易在手机上测试你的开发站点。它的工作原理是在移动设备上创建一个监听TCP端口,该端口映射到开发机器上的特定TCP端口。这些端口之间的流量通过USB传输,因此连接不依赖于你的网络配置。”
更多详情请访问:https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding
其他回答
虽然有一个答案已经被接受,但这对我来说很管用:
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.
事情就是这么简单。
在linux上使用ip addr而不是ifconfig,因为ifconfig已弃用多年,并且在最近的发行版中没有默认安装
以管理员身份运行CMD
在CMD屏幕上输入ipconfig,屏幕将显示文本
就像这张照片
您可以使用这个IP访问您的本地主机 您必须连接到与您的PC连接的相同网络
使用connectify和xampp或等效,并在移动URL栏上输入ip地址访问
即使您的移动设备和电脑通过usb连接,此解决方案也可用:
此时需要使用端口转发功能。 在谷歌chrome inspect窗口(chrome://inspect)可以看到连接的设备。
点击端口fowading按钮,并设置一个随机端口,例如3000到您的笔记本电脑使用的端口,例如8080。
现在从设备上使用localhost:3000来访问笔记本电脑中的localhost:8080(or_whatever_ip:portno)。 您可以在移动浏览器中查看。在移动浏览器中尝试localhost:3000。 确保勾选“端口转发设置”窗口中的“启用端口转发”复选框