Android 预计阅读 9 分钟

Clash Android 使用指南:VpnService 与省电白名单设置

说明 Android 系统代理依赖、VpnService 权限、省电限制与后台保活设置,减少连接意外中断。

在 Android 手机上使用 Clash 客户端,连接失败或运行一段时间后自动停止,通常不只是订阅内容的问题。Android 的网络权限模型、VpnService 授权、电池优化策略、厂商后台管理,以及客户端采用的运行模式,都会影响代理是否能够持续工作。安装客户端之后,先确认代理模式和系统权限,再处理省电设置,排查顺序会比反复更换节点更有效。

本文以支持 Clash Meta(mihomo)内核的 Android 客户端为背景,说明系统代理、VpnService 和 TUN 模式之间的关系,并给出从首次授权到后台保活的检查流程。不同手机品牌的菜单名称可能略有差异,但判断依据基本一致:客户端是否获得 VPN 权限,系统是否允许它在后台运行,目标应用的流量是否经过代理,以及配置中的 DNS 和规则是否能够正常完成解析。

一、Android 上的代理连接依赖什么

Android 应用通常不会直接读取 Clash 的本地端口。Clash 客户端需要在本机启动代理内核,随后通过系统代理设置或 Android 的 VpnService 接管应用流量。两种方式的覆盖范围不同,不能简单理解为“打开开关就完全相同”。选择哪一种,取决于客户端实现、应用是否遵守系统代理,以及用户是否需要处理不支持 HTTP 代理的程序。

系统代理与 VpnService 的区别

系统代理一般向应用提供 HTTP 或 SOCKS 代理地址。能够遵守 Android 系统代理设置的浏览器、部分网络工具和应用,会把请求发送到 Clash 的本地监听端口,再由规则组决定直连、代理或拒绝。系统代理的路径较轻量,通常不会把所有应用的网络接口都接管,但有些应用会忽略系统代理,或者只对特定请求使用自己的网络栈。

VpnService 是 Android 提供的虚拟网络接口服务。客户端申请授权后,可以创建一个本地 VPN 接口,读取经过该接口的流量,再交给 mihomo 内核进行处理。这里的 VPN 是 Android 的本地流量接管机制,不代表客户端自动拥有远端 VPN 服务器;实际出口仍由配置中的代理节点、策略组和规则决定。首次启用时,系统会显示 VPN 连接授权提示,用户必须明确允许,客户端才能建立隧道。

当手机中存在不遵守系统代理的应用,或需要让更多 TCP、UDP 流量进入规则处理时,VpnService 通常更适合。代价是系统会显示 VPN 状态,并且该权限通常与其他 VPN 应用存在互斥关系。同一时间只能有一个应用占用系统 VPN 接口,开启其他 VPN、部分防火墙或网络加速工具后,Clash 可能无法启动,或者已经运行的连接会被系统切换掉。

Clash Meta 与本地网络路径

Clash Meta(mihomo)负责读取 YAML 配置、建立代理连接、执行规则匹配,并提供 DNS、HTTP、SOCKS、透明代理等能力。Android 客户端负责把内核嵌入应用、申请系统权限和提供图形界面。出现“客户端已打开但某个应用无法访问”时,应分别检查这两层:前者关注内核、配置和节点状态,后者关注 VpnService、后台运行和应用流量是否被排除。

如果仅使用系统代理,常见本地监听地址可能是 127.0.0.1 配合 HTTP 或 SOCKS 端口;如果启用 TUN,应用流量会先进入虚拟网卡,再由内核根据路由和规则处理。不要把远端订阅地址、节点服务器地址和本地监听端口混为一谈。订阅负责提供配置或节点信息,本地端口只供手机上的应用访问,二者用途不同。

二、首次安装与 VpnService 授权顺序

安装完成后,建议按照固定顺序操作,避免在多个变量同时变化时难以判断故障来源。先准备配置,再启动连接;先确认单个节点可用,再测试规则和应用。订阅导入后不要立即修改大量高级参数,保留一份可回退的基础配置,有利于定位 DNS、路由或规则组造成的问题。

  1. 检查客户端来源与内核支持。打开客户端的关于页或内核信息页,确认当前版本支持 mihomo 或对应的 Clash Meta 能力,并查看 Android 版本要求。不同客户端的 TUN、脚本和 DNS 功能并不完全一致。
  2. 导入订阅并完成一次更新。确认订阅地址可以访问,更新结束后查看代理节点列表和策略组。如果更新失败,先检查网络、系统时间和订阅地址是否完整,不要把更新失败误判为 VpnService 故障。
  3. 选择一个明确的代理模式。首次测试可以使用规则模式,并手动为代理策略组选择一个节点。全局模式适合确认基础连通性,但长期使用仍应根据规则分流;直连模式下,代理节点不会参与大多数请求。
  4. 启动系统 VPN 授权。点击客户端的连接开关,Android 会弹出 VPN 连接请求。确认应用名称后选择允许。若系统提示已有 VPN,先断开其他 VPN、流量防火墙或同类网络工具,再重新发起授权。
  5. 验证本地状态。观察客户端是否显示运行中、VPN 图标是否出现、内核日志是否持续输出。随后分别测试一个应直连的站点和一个应代理的站点,避免只用单一目标判断整个配置。

Android 的 VPN 授权是系统级操作,客户端不能绕过确认步骤。部分系统会在首次授权后提供“始终允许”或类似选项,也可能在重启、用户切换或系统安全策略变更后再次要求确认。遇到授权窗口不出现的情况,可以先停止客户端,关闭其他 VPN,再从系统设置的 VPN 页面删除旧连接记录或重新选择该应用。

TUN 模式什么时候需要开启

TUN 模式通过虚拟网卡接收流量,适用于需要接管不遵守系统代理的应用,或者需要让 TCP、UDP 请求统一进入 mihomo 规则流程的场景。它不是提高节点速度的开关,也不会自动修复无效订阅、错误 DNS 或不可用节点。开启 TUN 后,系统路由、DNS 劫持和应用排除列表会变得更重要,配置错误可能表现为全部应用断网。

建议先在系统代理或客户端默认模式下完成基础连接测试,再开启 TUN。启用前记录原来的 DNS、模式和节点选择;启用后只改变一个设置并重新测试。若开启 TUN 后无法联网,优先检查 TUN 权限、自动路由、DNS 模式、IPv6 处理和其他 VPN 冲突,而不是立即删除订阅。

三、省电限制如何导致后台断连

Android 会根据应用使用频率、屏幕状态、充电状态和厂商策略限制后台进程。Clash 客户端在后台运行时,需要维持内核进程、VPN 服务、节点连接和 DNS 请求;如果系统暂停服务或回收进程,表现可能是状态栏 VPN 图标消失、应用切回前已经停止、锁屏后无法访问,或者连接仍显示开启但实际请求已经超时。

“省电白名单”并不是所有手机都使用的统一名称。常见入口包括“电池”“应用耗电管理”“后台活动”“自启动管理”“电池优化”“后台弹出界面”和“锁屏清理”。需要处理的是客户端本身,而不是浏览器或被代理的目标应用。将客户端设置为“不限制”或“允许后台活动”,可以降低系统暂停 VpnService 和回收内核进程的概率。

通用设置路径

  1. 打开系统设置,进入应用列表,找到正在使用的 Clash Android 客户端。
  2. 在电池或耗电管理页面,将后台使用策略调整为“不限制”“无限制”或含义相同的选项。
  3. 在移动网络与 WLAN 页面,确认允许后台数据。若系统提供“省流量模式”例外,也将客户端加入允许列表。
  4. 如果系统有自启动管理,允许客户端开机启动或在后台启动服务。只在确实需要开机自动连接时启用,避免扩大后台应用范围。
  5. 在最近任务界面将客户端锁定。部分厂商的“全部清理”会结束未锁定的后台应用,即使电池策略已经放宽。
  6. 锁屏五到十分钟后重新测试。不要只在应用前台打开时测试,因为前台状态无法反映后台限制。

部分厂商会把同一项限制分散在多个页面。例如,电池页面允许后台运行,但“睡眠待机优化”仍会在夜间冻结网络;或者客户端未被限制,却因为系统的后台弹出权限被关闭而无法重新显示连接状态。处理完设置后,应重启一次客户端并观察实际行为。若问题只在锁屏、切换应用或移动网络切换时出现,省电与网络切换策略的相关性较高。

省电白名单的取舍

允许后台运行会增加客户端保持进程和网络连接的机会,也可能增加待机耗电。长期使用时,可以先选择“不限制”验证稳定性,确认原因后再逐项恢复限制。若设备主要在家中使用,锁屏后不需要代理,可以在客户端内关闭自动启动;若需要即时通信、同步或远程访问,则应保留 VPN 服务的后台运行权限。

四、订阅、规则与 DNS 的联合检查

权限和后台设置正常后,仍然可能出现“部分应用能用、部分应用不能用”。这类现象通常需要回到配置层检查。订阅更新只是把配置内容下载到客户端,并不保证每个节点、策略组和规则都适合当前网络。应先确认订阅更新时间,再查看当前模式、策略组选择和规则命中结果。

按现象区分问题范围

  • 所有应用都无法访问:检查 VPN 是否真正连接、当前节点是否可用、TUN 是否有系统授权、是否存在其他 VPN,以及默认策略组是否选择了有效节点。
  • 浏览器可以访问,某个应用不行:检查该应用是否被客户端排除,是否使用独立 DNS、QUIC 或特殊网络接口。TUN 模式可以扩大接管范围,但仍要遵守客户端的应用绕过设置。
  • 域名无法打开,直接 IP 偶尔可用:重点查看 DNS 模式、上游 DNS 可达性、Fake-IP 设置和规则对 DNS 请求的处理。不要只更换代理节点。
  • 锁屏后中断,前台恢复:优先复查电池优化、自启动、后台数据和最近任务锁定,不要先修改规则。
  • 只有特定地区或服务异常:查看规则命中策略和节点出口地区。策略组可能选择了直连,或者规则把目标域名送入了不适用的策略。

规则模式会按照规则从上到下匹配,命中后交给对应策略;末尾的 MATCH 通常承担兜底处理。导入不同来源的订阅后,规则集名称、策略组名称和 DNS 行为可能不同。修改规则或策略组后必须保存并执行配置重载,再重新发起请求。可以使用客户端的连接日志查看域名、命中的规则和最终策略,这比仅凭浏览器错误页面更接近实际链路。

Fake-IP 与 Android 应用兼容性

Fake-IP 模式会为域名分配虚拟地址,并在后续连接中根据映射关系还原域名,再交给规则处理。它可以减少部分 DNS 解析等待,但并非所有局域网发现、银行类应用、游戏或需要真实局域网地址的程序都适合。若只有某类应用异常,可尝试将相关域名加入 Fake-IP 过滤或使用客户端提供的兼容模式,具体字段应以当前内核支持的配置说明为准。

DNS 配置应与 TUN 和规则设计保持一致。开启 TUN 后,如果 DNS 请求绕过内核,可能出现规则判断与实际解析出口不一致;如果上游 DNS 在当前网络不可达,则会表现为所有域名超时。排查时可以临时采用客户端推荐的基础 DNS 配置,确认连通性后再恢复自定义上游。每次只改动一个参数,并记录修改前后的结果。

五、连接中断后的标准排错流程

建议把排错分为“系统层、客户端层、配置层、目标应用层”四步。这样可以避免把后台回收、节点故障和规则误配混在一起。以下流程适合锁屏后断连、切换 Wi-Fi 与移动网络后失效,以及 Android 显示 VPN 已连接但应用无法联网等情况。

  1. 确认系统层。查看状态栏 VPN 图标,进入系统 VPN 页面确认当前应用仍在连接;检查是否启用了其他 VPN、代理、私有 DNS 或流量防火墙。
  2. 确认客户端层。打开客户端查看运行状态、内核日志和活动连接。若进程已经停止,重新启动并检查电池限制;若进程仍在,继续检查配置。
  3. 确认配置层。检查订阅是否过期、节点是否可用、策略组是否指向可用节点、当前模式是否为规则或全局,并查看请求对应的规则命中情况。
  4. 确认 DNS 与路由。在 TUN 模式下检查自动路由和 DNS 设置;在系统代理模式下确认目标应用是否遵守系统代理。必要时暂时关闭 IPv6 或 Fake-IP 相关选项进行对照测试。
  5. 确认目标应用。清理目标应用的网络状态后重试,检查应用是否有自己的代理、证书校验、地区限制或登录会话问题。只有单个应用失败时,不宜直接判定 Clash 整体故障。

如果客户端重启后立即恢复,但再次锁屏又中断,重点关注后台策略。如果更换 Wi-Fi 后失效,查看网络切换时是否重新建立了 VPN,以及新网络是否阻止了订阅或节点端口。如果 VPN 图标持续存在但所有域名均无法解析,重点检查 DNS;如果域名能解析但连接超时,重点查看节点、规则策略和传输协议。通过现象定位层级,可以减少无目的地重复导入订阅。

检查顺序:
1. VPN 授权与其他 VPN 冲突
2. 客户端后台运行与电池优化
3. 内核状态、订阅更新时间和节点可用性
4. 模式、策略组、规则命中和 DNS
5. 目标应用的独立网络行为

六、适合长期使用的 Android 配置习惯

长期运行时,建议保留一套能够工作的基础配置,并在修改前导出或复制当前配置。订阅更新、内核升级、系统升级和厂商安全策略变化都可能改变网络表现。更新后先测试常用浏览器、即时通信和需要登录的应用,再逐步启用 TUN、Fake-IP、IPv6 或自定义规则等高级功能。

节点选择方面,先选择延迟稳定、连续测试成功的节点,再观察实际访问。延迟测试只反映测试目标与节点之间的部分链路,不能单独证明所有服务都可用。策略组可以保留一个明确的默认节点,避免订阅更新后自动选择到不可用或不适合的节点。规则分流则应尽量保持可读,出现异常时能够快速找到域名对应的策略。

Android 系统升级后,应重新检查四项设置:VPN 授权是否仍然有效、客户端是否允许后台活动、电池优化是否重新开启、最近任务是否仍保持锁定。若使用工作资料、双开应用或多用户功能,也要确认实际运行客户端的用户空间拥有独立的 VPN 权限。部分系统会对工作资料和个人资料分别管理网络服务,不能只检查其中一侧。

完成设置后,可进行一次完整验证:前台启动客户端,确认 VPN 图标出现;在规则模式下测试直连和代理目标;锁屏等待数分钟后再次测试;切换一次 Wi-Fi 与移动网络;最后查看日志是否有持续的连接错误。这个过程覆盖了 Android 使用 Clash 时最常见的权限、后台和配置问题,也能帮助区分系统限制与节点本身的故障。

下载Clash