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

Android Volley连接Rest API报错NoConnectionError求助排查

排查Volley连接失败问题:NoConnectionError

嘿,我来帮你解决这个Android端调用Rest API失败的问题,结合你的报错信息和代码,咱们一步步梳理可能的原因和解决方案:

1. 先注意到一个明显的端口矛盾

你的代码里请求的URL是http://192.168.2.100:8080/...,但报错信息显示尝试连接的是80端口:

com.android.volley.NoConnectionError: java.net.ConnectException: Failed to connect to /192.168.2.100:80

先仔细检查代码:有没有其他地方覆盖了这个URL变量?或者是不是拼写时不小心把8080写成了80?如果是测试时改了URL但没同步,很容易出现这种问题。

2. 确认网络权限是否配置正确

Android应用必须声明网络权限才能访问外部网络,打开你的AndroidManifest.xml,确保添加了这两行:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

虽然INTERNET是普通权限,不需要动态申请,但如果清单里没加,应用完全无法发起网络请求。

3. 解决Android 9+的明文HTTP限制

从Android 9(API 28)开始,系统默认禁止明文HTTP请求(只允许HTTPS),而你的API用的是HTTP协议,这会导致连接被拦截。解决方法有两种:

方法一:配置网络安全策略(推荐)

  • 在res/xml目录下创建network_security_config.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">192.168.2.100</domain>
    </domain-config>
</network-security-config>
  • 然后在AndroidManifest.xml的<application>标签里添加引用:
android:networkSecurityConfig="@xml/network_security_config"

方法二:直接允许明文流量(仅测试用,不推荐生产环境)

在AndroidManifest.xml的<application>标签里添加:

android:usesCleartextTraffic="true"

4. 确保设备和服务器在同一局域网

Postman能正常访问API,说明服务器本身是正常的,但如果你的Android设备和服务器不在同一个局域网(比如手机用流量,服务器在办公室Wi-Fi),肯定连不上。确保你的Android设备和运行API的服务器连接同一个Wi-Fi,并且服务器的IP地址是局域网内的有效地址(比如你用的192.168.2.100是局域网IP,没问题)。

5. 检查服务器端口和防火墙

  • 确认API服务确实在8080端口运行:可以在服务器上用命令查看端口占用情况:
    • Windows:netstat -ano | findstr :8080
    • Linux/Mac:lsof -i :8080
  • 检查服务器所在电脑的防火墙,有没有阻挡8080端口的入站请求,暂时关闭防火墙测试一下,看是否能连接。

6. 确认Volley请求的上下文有效性

你用this作为Volley.newRequestQueue的参数,要确保这个this是有效的Context:

  • 如果是在Activity里调用,没问题;
  • 如果是在Fragment里,应该用getActivity()或者requireContext(),避免上下文为空导致的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:46:51