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

Volley突发NoConnectionError:无法连接本地Flask服务器求助

解决Volley无法连接本地Flask服务器的问题

核心问题

当前抛出的错误:

com.android.volley.NoConnectionError: java.net.ConnectException: Failed to connect to /10.0.2.2:5005

已知背景:

  • Flask服务器在PC浏览器可正常访问
  • 已开启Cleartext支持和网络权限
  • PC防火墙已关闭
  • 此前可正常运行的项目备份也无法连接,仅执行过clean build操作

排查与修复步骤

1. 修正URL协议错误

你的代码中URL使用了https://10.0.2.2:5005/list,但本地Flask默认启动的是HTTP服务,并非HTTPS。HTTPS协议会触发SSL握手失败,这是最可能的直接原因。
修改URL为:

String url = "http://10.0.2.2:5005/list";

2. 确认Flask服务器绑定地址

Flask默认绑定127.0.0.1,仅允许PC本地访问,模拟器无法连接。需将服务器绑定到0.0.0.0,允许所有网络访问:
启动代码修改为:

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5005, debug=True)

或使用命令行启动:flask run --host=0.0.0.0 --port=5005

3. 验证模拟器网络通路

  • 在模拟器内置浏览器中访问http://10.0.2.2:5005/list,若无法加载,说明模拟器与PC的网络连接存在问题。
  • 尝试冷启动模拟器:通过Android Studio的AVD管理器,选择对应模拟器点击Cold Boot Now,清除模拟器网络缓存。

4. 检查Android Studio代理设置

Android Studio的代理配置可能干扰模拟器网络请求:

  • 打开File > Settings > Appearance & Behavior > System Settings > HTTP Proxy,确认设置为No proxy,随后重启Android Studio和模拟器。

5. 彻底清理项目缓存

执行更彻底的重建操作:

  • 点击Build > Clean Project
  • 再执行Build > Rebuild Project
  • 同时在模拟器中清除应用数据:长按应用图标 → 应用信息 → 存储 → 清除数据

6. 替换为PC局域网IP

若10.0.2.2(模拟器映射PC回环地址)仍无法连接,改用PC的实际局域网IP:

  • Windows执行ipconfig、Mac/Linux执行ifconfig,获取局域网IP(如192.168.1.100)
  • 修改URL为http://192.168.1.100:5005/list,确保Flask已绑定0.0.0.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:47:40