繁体   English   中英

通过USB在Real设备上将localhost API与Android Studio连接时发生超时错误

[英]Timeout Error when connecting localhost api with Android Studio on Real devices through USB

我正在Windows 8.1上使用Android Studio版本3。 安装了XAMPP以在本地主机上托管php api。 我正在尝试从Android Studio访问localhost API。

在主机名中,我使用了IPv4地址。

当我使用仿真器从Android版本3访问它时。 完全没有问题。 我正在使用Volley进行api调用。

当我尝试通过USB使用Real设备访问时...总是出现超时错误。

我使用Real设备,因为我的RAM非常低。

如果您需要更多信息,请告诉我。

更新1

我可以确认Android 2.2.3可以正常工作以通过USB在读取设备上运行apk

我禁用了防火墙,一切运行正常。

通过IPV4对本地主机的访问可以在模拟器上进行,因为您的模拟器和主机位于同一网络上。 它使真实设备超时,因为真实设备没有通过仅通过USB连接与主机连接到同一网络。

有两种方法:

  1. 确保您的设备和主机共享同一网络。 可能是通过Wifi将设备连接到主机网络。

  2. 如果由于某些限制而无法将设备连接到同一网络,则可以运行以下命令:

    adb reverse tcp:<localhost-port> tcp:<localhost-port>

然后在您的URL中使用localhost而不是IPV4

您的网络防火墙阻止与本地主机的连接。 要解决此问题,您可以执行以下操作:

在Windows中

第一种方法添加入站规则(推荐)

  • 使用具有高级安全性的Windows防火墙创建新的入站规则。 在这种情况下,类型将是端口,然后在下一页上输入8080作为端口。 在下一页上,选择“允许连接”或“如果安全则允许连接”。 选择规则适用的时间,最后为规则命名。

  • 通过新的允许端口连接localhost api。

  • 使用localhost的ip-address而不是localhost

第二种方法开启防火墙。

在Linux中

1.添加IPTable条目

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM