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

Flutter应用在Android模拟器请求Laravel API遇域名解析失败

解决Android模拟器无法访问本地Laravel API域名的问题

问题原因

Android模拟器默认网络环境无法直接解析你本地配置的自定义域名flutter-api.test,而Chrome浏览器走本地电脑DNS解析,所以能正常访问。

解决方案

1. 用电脑局域网IP替换自定义域名

先找到电脑的局域网IP:

  • Windows:执行ipconfig命令,查看无线/以太网适配器的IPv4地址
  • Mac/Linux:执行ifconfig或ip addr命令,找到对应网卡的IP地址

把API请求地址替换为http://你的局域网IP/api/categories,比如:

http.get(Uri.parse('http://192.168.1.105/api/categories'));

2. 修改模拟器hosts文件(适用于Android 7.0+)

  • 确保模拟器开启root权限(多数第三方模拟器默认开启,如夜神、雷电)
  • 执行adb命令连接模拟器:adb shell
  • 挂载系统分区为可读写:mount -o rw,remount /system
  • 编辑hosts文件:vi /system/etc/hosts
  • 添加一行:你的电脑局域网IP flutter-api.test,保存退出
  • 重启模拟器或刷新网络

3. 使用模拟器专属回环IP

Android模拟器中,10.0.2.2等价于宿主电脑的127.0.0.1,如果Laravel API监听在本地回环地址,可直接把请求地址改成:

http.get(Uri.parse('http://10.0.2.2/api/categories'));

注意:如果Laravel配置了CORS或域名白名单,需要在.env或CORS配置中允许该IP的请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:20:30