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

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

我错过了什么?


当前回答

Ngrok允许你把本地主机放到临时服务器上,设置非常简单。我在这里提供了一些可以在链接中找到的步骤:

从上面的链接下载ngrok压缩包 拉开拉链 在本地运行服务器并记录端口号 在终端中,进入ngrok所在的文件夹,输入ngrok http[端口号]

您将在终端中看到一个小仪表板,其中有一个指向本地主机的地址。将你的应用指向这个地址,然后构建到你的设备上。

其他回答

如果您正在使用真实的设备,但仍然面临这个问题,请遵循以下步骤,因为这些步骤可以帮助我解决问题:

确保移动设备和笔记本电脑都在同一个WiFi网络上。 验证您的目标URL是否有端口号,例如:https://localhost:44301 在Android Studio终端运行此命令,adb reverse tcp:44301 tcp:44301 将44301替换为端口号

希望你能顺利地跑起来。

Happy codding

我个人不坚持在使用设备时使用本地主机,没有简单的解决方案。

只需启动您连接到本地主机的活动,在那里您可以使用模拟器。无论你从设备得到什么信息都可以轻松生成,并可以作为参数发送给活动。

在mac上,如果你的服务器是8080,在终端上运行这个命令

echo "
rdr pass inet proto tcp from any to any port 8080 -> 127.0.0.1 port 8080
" | sudo pfctl -ef -

在linux上使用ip addr而不是ifconfig,因为ifconfig已弃用多年,并且在最近的发行版中没有默认安装

以管理员身份运行CMD

在CMD屏幕上输入ipconfig,屏幕将显示文本

就像这张照片

您可以使用这个IP访问您的本地主机 您必须连接到与您的PC连接的相同网络