先判断:VPN 被停止,还是连接没有恢复
Android 版 Clash 锁屏后断连,先检查系统 VPN 状态和客户端服务状态,再修改电池设置。只有后台服务确实被停止时,省电白名单才是主要处理方向。如果 VPN 仍连接、客户端仍有连接记录,问题更可能在节点、DNS、分应用代理或 Wi-Fi 与移动网络切换。
本文适用于通过 Android VpnService 接管流量的 Clash 类客户端,包括使用 mihomo 内核的客户端。不同应用的“启动”“运行”“VPN 模式”等按钮名称可能不同;系统菜单也会随 Android 版本、厂商界面与地区版本变化,下面列出的路径应以设备实际页面为准。
| 断连表现 | 先检查的位置 | 主要排查方向 |
|---|---|---|
| 解锁后客户端显示已停止 | 系统 VPN 页面、应用电池设置 | 服务回收、后台限制、手动清理 |
| 开启另一款 VPN 后 Clash 停止 | 当前用户或工作资料的 VPN 列表 | VpnService 被另一应用替换 |
| VPN 已连接,但指定网站超时 | 客户端连接记录与日志 | 节点、规则、DNS 或应用绕过 |
| 仅 Wi-Fi 切到移动网络时失败 | 移动数据权限、数据节省设置 | 底层网络切换、旧连接失效 |
| 只在打开客户端后恢复 | 通知、后台活动、自启动设置 | 后台进程受限或重新启动服务 |
VpnService 授权:确认流量接管已建立
VpnService 为应用创建虚拟网络接口,再由客户端读取流量、执行规则并连接相应出口。Android 客户端通常把这一步包装为 VPN 启动流程;它不等同于桌面端安装 TUN 驱动,也不要求用户另行开放一个本地代理端口才能接管普通应用。
首次启动的检查顺序
- 导入有效配置,选中可用策略组与节点。先在亮屏状态确认节点能够建立连接。
- 点击客户端的启动按钮。系统出现“连接请求”或 VPN 连接授权对话框时,核对应用名称,再选择允许或确定。
- 进入系统“设置”→“网络和互联网”→“VPN”,检查该客户端是否显示已连接。厂商系统可在设置搜索框搜索“VPN”。
- 打开一个需要代理的网站,并查看客户端连接记录。确认不仅有 VPN 状态,还能看到目标连接及匹配到的策略。
授权弹窗是 Android 的系统流程。拒绝后,客户端即使能更新订阅,也不代表已经接管其他应用流量;订阅下载与 VPN 隧道建立是两件事。若弹窗无法点击,先关闭悬浮窗、屏幕滤镜或覆盖在界面上的工具,再重试,不要因此授予来源不明应用额外权限。
检查 VPN 冲突与分应用设置
同一 Android 用户或资料空间通常只能有一个活动的 VpnService。广告过滤器、防火墙、其他代理客户端也可能使用这套接口,启动它们会替换原有 VPN。工作资料与个人资料可能各自有 VPN,不能只根据应用是否安装来判断冲突。
如果只有浏览器以外的某个应用不通,检查客户端的“分应用代理”“应用访问控制”或绕过名单。被排除的应用不会按预期经过代理;企业工作资料里的应用也不一定受个人资料中的 VPN 管理。此时反复修改省电设置通常没有作用。
始终开启 VPN:恢复机制与断网开关
“始终开启 VPN”由 Android 系统管理,用于在启动等场景尝试启动所选 VPN 服务。它不能保证节点始终可达,也不是免于所有厂商后台清理的通行证。应用必须支持该能力,受管理设备还可能由管理员限制修改。
- 进入“设置”→“网络和互联网”→“VPN”。
- 点击客户端旁的齿轮,或进入该 VPN 的详情页。
- 如果页面提供“始终开启 VPN”,在连接已验证正常后开启。
- 先保持“屏蔽未使用 VPN 的连接”关闭,测试锁屏与重启恢复;确认符合使用需求后,再决定是否启用阻断。
如果选项不可用,应检查客户端支持情况和设备管理策略,而不是修改 YAML 强行启用。重启后还要确认配置仍可读取:需要手动解锁才能访问的数据、失效订阅或启动失败,都可能使系统的恢复尝试无法完成。
省电白名单:分别处理电池、后台与自启动
电池优化、后台运行和自启动是不同层面的限制。将应用从最近任务列表锁定,不等于允许后台活动;允许自启动,也不保证系统不限制后台网络。建议每改一组设置就复测一次,避免一次放开所有权限却无法判断哪个设置有效。
接近原生 Android 的设置
以常见 Android 13、14 界面为参照,长按客户端图标→“应用信息”→“应用电池用量”或“电池”,选择“不受限制”。部分版本显示“允许后台使用”,再提供优化等级;另一些设备需要在“设置”中搜索“电池优化”,切换到全部应用后为客户端选择“不优化”。这些入口不一定同时存在。
Android 的 Doze 与应用待机机制会约束后台活动。电池白名单可以减少部分限制,但不会修复应用崩溃,也不能维持已经失效的网络连接。使用该设置后,应观察一段时间的电池消耗,保留确实需要的后台例外。
常见厂商系统的入口线索
| 系统系列 | 常见入口 | 重点设置 |
|---|---|---|
| 小米 MIUI / HyperOS | 应用信息→省电策略;设置中搜索“自启动”或“后台自启动” | 省电策略选“无限制”;按需允许后台自启动 |
| 华为 EMUI | 设置→应用和服务→应用启动管理 | 关闭该应用的自动管理,在手动管理中允许自启动、关联启动与后台活动 |
| OPPO ColorOS / 一加 OxygenOS | 应用信息→电池耗电管理;应用管理中的自启动管理 | 允许后台活动;存在自启动开关时按需开启 |
| vivo OriginOS | 设置→电池→后台耗电管理;i管家→应用管理→权限管理 | 允许后台高耗电;检查自启动权限入口 |
| 三星 One UI | 设置→电池→后台使用限制 | 移出休眠、深度休眠列表;加入“从不自动休眠的应用” |
表格给出的是常见菜单线索,不是所有版本的固定路径。找不到同名项目时,在系统设置搜索“后台”“启动”“电池优化”或“休眠”,并核对最终页面是否针对当前客户端。华为使用不兼容 Android 应用的系统版本时,不适用这里的 Android 安装与 VpnService 操作流程。
通知权限与最近任务锁定
Android 8.0 起,持续运行的 VPN 服务涉及前台服务机制。Android 13 起还需要单独考虑通知权限:允许通知便于观察连接和停止操作,但拒绝通知权限并不必然意味着前台服务不能运行,系统仍可能在活动应用管理界面显示它。不要把“没有通知”直接等同于“VPN 已停止”。
厂商最近任务里的锁定功能可以减少“一键清理”误伤,但不是系统级保活保证。排查期间不要滑掉客户端,不要点击应用信息中的“强行停止”。强行停止与普通切回桌面不同,应用通常需要再次手动打开后才能恢复正常启动行为。
VPN 仍在连接:检查数据权限、节点与 DNS
如果锁屏后 VPN 页面始终显示连接,优先查看实际错误,而不是继续增加白名单。先区分底层网络不可用、代理出口失败和域名解析失败;这三类问题在浏览器里都可能表现为超时。
- 检查移动数据权限:进入“应用信息”→“移动数据和 WLAN”或厂商的“联网控制”,确认客户端能使用当前网络。若开启“流量节省程序”,查看是否需要为客户端允许不受限的数据使用。
- 检查节点可达性:解锁后在相同网络下重新测试所选节点,再换另一个已知可用节点。延迟测试成功不代表所有目标网站或 UDP 流量都可用。
- 检查 DNS 日志:记录是否出现解析超时、上游连接失败。Android 9 起的“私人 DNS”与客户端 DNS 接管可能产生交互;使用“自动”做对照测试,并记录修改前的选项。
- 检查切网后的新连接:Wi-Fi 切到移动网络会改变底层路由与 NAT 状态,已有 TCP 会话可能中断。重新加载页面或重新发起请求,观察新连接是否恢复,不要只盯着一条旧下载任务。
不要为修复后台断连就照抄桌面 TUN 配置。Android 客户端可能自行生成 VPN 接口、路由和 DNS 接管参数;订阅中的 tun 字段是否生效,取决于客户端实现。修改 mixed-port、把端口设为 7890 或 7891,也不能阻止系统回收应用进程。
如果只在一个 Wi-Fi 网络失败,先测试同一手机的移动网络。若移动网络正常,应继续检查 Wi-Fi 的门户认证、IPv6 路径或上游 DNS,而不是将问题归结为 Android 后台限制。
锁屏复测:用固定步骤验证设置
下面的时间是建议测试窗口,不是承诺的稳定时长。短时间锁屏能发现明显的后台回收,但不能覆盖所有深度待机场景。测试时先拔掉充电线,因为充电状态会改变部分省电策略。
- 记录基线:记下 Android 版本、系统界面版本、客户端版本、使用的内核,以及当前 Wi-Fi 或移动网络。记录“始终开启 VPN”和断流保护状态。
- 亮屏验证 2 分钟:打开目标网站,确认连接日志有新记录。不要同时运行另一款 VPN。
- 锁屏等待 10 分钟:不要清理最近任务。解锁后先查看系统 VPN 状态,再打开客户端,避免打开应用本身掩盖后台已停止的事实。
- 延长到 30 分钟:如果前一步正常,再测试更长静置。记录恢复访问所需时间,以及是否必须手动启动服务。
- 切网与重启分别测试:单独测试 Wi-Fi 切移动网络,再单独测试重启并解锁后的恢复。不要把这两个变量混入首次锁屏测试。
需要进一步定位时收集什么
保留故障发生前后的客户端日志、系统 VPN 状态截图和准确时间。如果具备 ADB 使用经验,可通过本地电脑读取系统状态;以下是只读诊断命令,不会授予后台权限,也不会修改电池策略。
adb shell dumpsys deviceidle
adb shell dumpsys connectivity
deviceidle 可用于观察设备空闲相关状态;connectivity 可辅助查看网络与 VPN 信息。不同 Android 版本的输出结构不同,不要机械查找某个固定字段。输出可能包含网络地址、应用标识等信息,分享前应裁剪到相关片段。
常见问题与最终检查
已经设置“不受限制”,锁屏后仍断连怎么办?
先确认服务是否真的停止。如果停止,继续检查厂商自启动、后台活动、最近任务清理和客户端崩溃记录;如果仍在运行,则转查节点、DNS 与切网恢复。电池设置只处理其中一类原因,不能替代日志判断。
始终开启 VPN 与客户端“开机启动”都需要打开吗?
两者由不同层负责:前者是 Android 的 VPN 管理能力,后者是应用的启动选项。先验证系统始终开启能否恢复服务,再按客户端说明启用开机启动。厂商若限制自启动,还需要在系统中放行;不应假设两个开关打开就能保证每次启动成功。
是否需要把所有应用都加入省电白名单?
不需要。先为承载 VPN 的客户端设置必要例外。若某个业务应用自身收不到消息,再单独检查它的后台和通知权限。批量关闭所有应用的省电管理会增加耗电,也会让后续定位失去对照。
完成排查后,保留最小的一组有效设置:VPN 授权正常、客户端允许必要的后台活动、厂商自启动按需放行,再根据需求启用始终开启 VPN。最后重新做一次不打开客户端的锁屏复测,确认连接恢复来自设置本身,而不是手动进入应用触发了重启。