安卓8.1设备连接XAMPP服务器报java.net.connectException错如何解决
故障原因
该异常是安卓8.1设备无法和XAMPP服务器的80端口建立TCP连接导致的,结合安卓10设备运行正常的前提,常见原因如下:
- 网络层连通性问题:安卓8.1设备未和XAMPP服务器处于同一局域网,或服务器端防火墙拦截了该设备的访问请求,或XAMPP的Apache配置限制了非本地IP访问
- 应用配置问题:应用未正确声明网络权限,或未适配低版本安卓的明文HTTP访问规则,或使用的第三方网络库不兼容安卓8.1系统
- 设备网络配置问题:安卓8.1设备的WiFi设置了错误的代理、静态IP,导致无法访问局域网内的服务
修复方案
1. 先验证网络层连通性
在安卓8.1设备的自带浏览器中直接访问http://192.168.0.105,如果无法打开XAMPP默认页面,按以下步骤排查:
- 确认设备和XAMPP服务器连接的是同一个WiFi,关闭设备的移动数据后重试
- 临时关闭XAMPP所在电脑的系统防火墙,再测试访问
- 检查XAMPP的Apache配置文件
httpd.conf:- 确认
Listen配置为Listen 0.0.0.0:80,不要绑定127.0.0.1 - 确认目录权限配置为
Require all granted,没有限制访问IP段
- 确认
2. 排查应用配置问题
如果浏览器可以正常访问XAMPP页面,说明是应用本身的配置问题:
- 检查
AndroidManifest.xml是否声明了必要的网络权限:
<!-- 必须的网络访问权限 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- 在
AndroidManifest.xml的application节点添加明文HTTP访问许可:
<application android:icon="@mipmap/ic_launcher" android:label="@string/app_name" <!-- 允许明文HTTP访问,适配所有安卓版本 --> android:usesCleartextTraffic="true" ...>
- 检查使用的OkHttp、Retrofit等网络库版本,确认兼容安卓8.1(API 27),避免使用仅支持安卓9及以上的高版本网络库
3. 兜底排查
如果以上操作都未解决问题,可以在网络请求的异常捕获逻辑中打印完整的堆栈信息,确认是否存在端口占用、请求超时等其他隐藏问题。
内容的提问来源于stack exchange,提问作者Adib
相关产品推荐
相关产品推荐

