Android 通用排查
Android 上的代理客户端几乎都通过系统 VpnService 工作——建立一个本地 VPN 隧道接管全部流量。这个机制带来三个平台特有的故障面:VPN 权限、厂商定制的省电策略、以及系统级网络设置(私人 DNS)与客户端的叠加。本页按这三个面组织,适用于各家客户端。
VPN 权限
- 首次授权:客户端首次启动代理时系统弹出 VPN 连接请求,误点拒绝后部分客户端不会再次弹出——到
设置 → 网络 → VPN里查看该应用是否在列; - 权限吊销:系统更新、应用更新后权限可能被静默吊销,表现为"点击连接毫无反应"或状态栏无钥匙图标;重新触发授权最直接的办法是完全卸载重装(注意先备份配置);
- 单 VPN 限制:Android 同一时刻只允许一个 VpnService 活动——装了多个代理/VPN 应用时互相顶替,"另一个应用连上后这个就断"不是 bug 而是平台规则。
厂商省电策略
国内厂商 ROM 的激进省电是 Android 连接问题的最大变量:
- 客户端被后台清理后隧道消失,但状态栏图标可能残留几秒——"看着连着其实死了";
- 处理方法三件套:在电池设置中给客户端"不受限制"权限、在多任务界面锁定应用、关闭"自动管理"改为手动允许自启动与后台运行;
- 各家菜单名称不同(省电策略/应用启动管理/后台耗电管理),关键词是找到"限制后台"的开关并对客户端放开。
判断是不是省电策略作祟的方法:保持客户端前台、屏幕常亮复测——前台稳定后台就断,答案已经出来了。
私人 DNS 与网络叠加
设置 → 网络 → 私人 DNS(DoT)在系统层劫走 DNS 流量,与客户端的 DNS 处理叠加时会产生难解的怪象(部分域名不走分流、解析结果与预期不符):
- 排查任何 DNS 相关问题前,先把私人 DNS 设为"自动"或"关闭",消除这个变量;
- 同理检查 Wi-Fi 详情里是否配置过静态 DNS。
参照代理环境下的 DNS 路径理解本地/远程解析的差异。
常见现象对照
| 现象 | 对应错误码 | 文档 |
|---|---|---|
| 所有节点超时 | CLIENT-002 | 所有节点同时超时 |
| 已连接无法上网 | CLIENT-001 | 已连接却无法上网 |
| 特定应用不走代理 | CLIENT-003 | 浏览器能用应用不能 |
| 后台频繁断线 | LONG-001/003 | 数据流提前中断 |
| 订阅更新失败 | SUB-001~004 | 订阅更新失败 |
取证建议
Android 端没有 ConnProof CLI 的原生运行环境,取证用两条路:客户端日志(各家都有日志页,报错原文在那里)+ 同网络下的桌面设备运行 ConnProof 对同一目标检测。两边证据一致指向链路,不一致则回到本页三个平台故障面逐条排查。