我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
当前回答
基于笔记本电脑的移动设备连接wamp服务器的解决方案:
首先,wifi不是路由器。因此,为了将我的移动设备连接到我笔记本电脑上基于localhost的wamp服务器,我需要一个路由器。 我下载并安装了一个免费的虚拟路由器:https://virtualrouter.codeplex.com/
配置它真的很简单:
右键单击系统托盘中的虚拟路由器图标 2 .单击“配置虚拟路由器” 填写密码 如果您的internet连接是以太网,请选择共享连接:以太网 然后在你的笔记本电脑和设备上打开wifi 在您的设备上连接到虚拟路由器网络名
然后你可以通过你的设备连接到你的笔记本电脑,启动浏览器并填写你的笔记本电脑的IPV4地址 (要在windows上找到它,键入CMD: ipconfig,并找到ipv4地址)
您应该看到wamp服务器主页。
其他回答
如果您正在使用真实的设备,但仍然面临这个问题,请遵循以下步骤,因为这些步骤可以帮助我解决问题:
确保移动设备和笔记本电脑都在同一个WiFi网络上。 验证您的目标URL是否有端口号,例如:https://localhost:44301 在Android Studio终端运行此命令,adb reverse tcp:44301 tcp:44301 将44301替换为端口号
希望你能顺利地跑起来。
Happy codding
默认localhost的更简单方法是使用http://localhost:port。这也适用于笔记本电脑和安卓系统。
如果它不工作,然后在android设置您的手机的默认IP 127.0.0.1:端口:)
打开终端并输入:-
hostname -i
#127.0.0.1
hostname -I
#198.168.*.*
最后在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”
以上的方法对我不起作用。Mac是这样的:
在终端:
ifconfig
然后把inet后面的数字放到手机浏览器里:
Ngrok是最好的解决方案。 如果你正在开发PHP,那么我建议安装Laravel Valet,它有MacOS和Linux版本,然后你可以使用Valet共享命令。如果你正在开发任何前端技术,需要共享一个端口,比如3000,那么直接使用ngrok
Xampp和ngrok
你也可以在Windows中使用ngrok和Xampp。您可以使用以下流程。这很简单。
在ngrok上注册一个免费账户 从下载部分下载ngrok文件并打开它
注意Apache服务器运行的端口。我的情况是80
在ngrok命令行中输入ngrok http YOUR_PORT并复制转发地址
现在你可以在任何设备上使用这个转发链接(即你的物理android设备),它将托管你的本地主机服务器。例如,
取代
http://localhost/my-files/
with
http://YOUR_FORWARDING_ADDRESS/my-files/