You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从MacOS宿主机访问Android模拟器中运行的本地HTTP Web服务

问题解决步骤
  • 首先明确iOS和Android模拟器的网络栈差异:iOS模拟器直接共享宿主机网络栈,所以启动的服务宿主机可以直接访问;Android模拟器是独立的隔离网络栈,默认和宿主机之间没有端口映射,这是你iOS正常、Android无法访问的核心原因。
  • 配置adb端口转发,将宿主机1313端口的请求转发到模拟器内部的1313端口,在Mac终端执行如下命令:
adb forward tcp:1313 tcp:1313

如果同时连接了多个模拟器/真机,可以先执行adb devices获取目标模拟器的序列号,再指定设备执行转发:

adb -s 目标设备序列号 forward tcp:1313 tcp:1313
  • 确认服务监听配置:你现有Golang代码中fasthttp.ListenAndServe(":1313", middleware.Handle(router.Handler))的写法是正确的,会监听模拟器所有网络接口,无需修改。如果之前写的是127.0.0.1:1313才会限制仅模拟器本地可访问。
  • 额外验证项:
    • 你现有的AndroidManifest.xml已经配置了INTERNET权限,满足网络访问要求
    • 如果你后续需要使用域名访问服务,Android 9及以上系统默认禁止明文HTTP流量,可在<application>节点添加android:usesCleartextTraffic="true"配置解除限制
    • 配置完成后可以先在宿主机终端执行curl http://127.0.0.1:1313验证连通性,再使用Postman发起请求,排除工具配置问题。
  • 如果需要取消端口转发,可执行:
# 取消单个端口转发
adb forward --remove tcp:1313
# 清除所有端口转发规则
adb forward --remove-all

内容的提问来源于stack exchange,提问作者roman Sztergbaum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 13:09:00