Android 用 Clash 的两个关键设置:VpnService 授权与省电白名单
安卓端 Clash 依赖 VpnService 建立本地隧道,授权弹窗、后台被杀、分应用代理是三大高频问题。本文讲清授权原理,并给出主流厂商系统加入省电白名单的路径。
为什么安卓上的 Clash 一定要弹授权窗口
Windows、macOS 上的 Clash 客户端靠系统代理设置或 TUN 虚拟网卡拦截流量,而 Android 系统出于安全考虑,把这条路封死了——普通应用没有权限直接读写网络接口。系统留了一个官方通道叫 VpnService,任何想要接管全局流量的应用(不只是代理工具,也包括正规的企业 VPN、家长控制软件)都必须通过这个接口向用户申请授权。
所以第一次打开 Clash 安卓客户端并启动代理时,系统会弹出一个类似"要连接到 VPN 连接吗?此应用要求建立一个 VPN 连接以便对所有网络流量进行监控"的对话框。这不是 Clash 本身的行为,而是安卓系统对 VpnService 接口的强制提示,任何走这条技术路线的应用都绕不过去。点击"确定/允许"之后,系统才会分配虚拟网络接口,Clash 才能把设备流量拉进内核处理并按规则分流。
授权一次之后,只要没有卸载重装、没有清除应用数据,系统通常会记住这次选择,后续启动不会重复弹窗。如果你发现每次开启代理都要重新授权,大概率是电量管理软件在后台清理了应用状态,或是系统更新后重置了 VPN 权限记录。
授权弹窗不出现、点了没反应怎么办
少数机型会出现点击"启动"按钮后弹窗一闪而过、或者根本没有弹窗、代理开关亮着但流量并未走代理的情况。按下面的顺序逐一排查:
- 检查是否已存在其他 VPN 连接。安卓系统同一时间只允许一个
VpnService实例生效,如果设备上还开着企业 VPN、其他代理工具或"私人 DNS"里配置了某些需要虚拟网卡的功能,Clash 的隧道会被顶掉或直接无法建立,系统设置里的"VPN"列表能看到当前占用者。 - 确认没有被"应用锁定"或权限管理拦截。部分定制系统会把 VPN 权限单独列在隐私管理里,和普通的网络权限分开管理,需要在设置的隐私或权限页面里单独找到"VPN 服务"或"建立 VPN 连接"这一项手动打开。
- 重装一次应用数据全部清空后再试。如果权限记录被系统写脏,重新走一遍授权流程通常能修复,注意重装前先导出订阅和自定义规则,避免配置丢失。
- 切换到系统代理模式验证。如果客户端同时支持 TUN 模式和传统的系统代理模式,可以先用系统代理模式确认订阅和节点本身没问题,再回头单独排查 VpnService 授权,缩小问题范围。
为什么装了白名单还是会被系统杀后台
VpnService 建立的隧道是一个长期运行的后台进程,安卓的电量管理机制默认会把长时间不在前台交互的进程视为"可疑后台活动"并主动回收,这是国产定制系统尤其激进的一个策略。表现出来就是:锁屏一段时间后代理断开、切到后台几分钟后网络恢复直连、深夜或长时间挂机时进程被静默杀掉。
要保住这条隧道,核心思路是让系统的电量优化策略"看不到"这个应用,或者明确告诉系统它可以豁免省电限制。这通常涉及两层设置,缺一不可:
- 系统级电池优化白名单。大多数安卓系统的设置里都有"电池优化""耗电排行"或"应用智能管理"入口,找到 Clash 客户端后选择"不优化"或"允许后台活动"。
- 厂商定制的省电管理器白名单。这是国产系统额外加的一层,和系统原生电池优化是两套独立机制,必须分别放行,下一节按厂商逐个列出路径。
主流厂商系统的白名单设置路径
不同品牌的入口名称和层级略有差异,以下路径基于当前主流版本的常见位置,如果菜单文案对不上,直接在设置搜索框里输入"电池""省电"或"自启动"通常能快速定位。
小米 / Redmi(MIUI / HyperOS)
设置 → 应用设置 → 应用管理 → 找到 Clash 客户端 → 省电策略选择"无限制";另外在设置 → 电池与性能 → 应用智能管控里关闭该应用的"内存与后台占用管理"限制,两处都要放行才能稳定驻留后台。
华为(HarmonyOS / EMUI)
设置 → 电池 → 更多电池设置 → 启动管理,把 Clash 客户端的自动管理关掉并手动打开"允许自启动""允许关联启动""允许后台活动"三个开关;部分机型还需要在"应用启动管理"外单独关闭"智能省电"对该应用的限制。
OPPO(ColorOS)
设置 → 电池 → 应用耗电管理,找到应用后选择"允许后台运行";再到设置 → 应用管理 → 应用启动管理里改为手动管理并打开全部三个开关(自启动、关联启动、后台运行)。
vivo(OriginOS / Funtouch OS)
i管家 → 省电管理 → 后台高耗电,把 Clash 客户端加入允许后台高耗电的名单;再到手机管家 → 应用管理 → 权限管理 → 自启动管理里打开该应用的自启动开关。
三星(One UI)
设置 → 电池和设备维护 → 电池 → 后台使用限制,把应用从"休眠应用""深度休眠应用"名单里移除,再单独确认它未被列入"应用待机"限制,三星的省电策略相对温和,通常只需这一处调整。
分应用代理:按需选择走隧道的 App
Android 上的 VpnService 除了建立隧道,还允许客户端指定哪些应用的流量纳入代理、哪些直接放行,这就是分应用代理(有的客户端叫"应用白名单"或"应用黑名单"两种反向模式)。典型使用场景是:只让浏览器和几个特定 App 走代理,银行、支付类应用保持直连,或者反过来只排除某几个对代理敏感的应用。
设置分应用代理时注意两点:一是白名单模式和黑名单模式互斥,同一时间只能生效一种,选错模式会导致该走代理的应用没走、不该走的反而被代理了;二是修改分应用列表后通常需要重启一次代理服务才能生效,系统的 VpnService 隧道参数是在建立连接时一次性写入的,运行中途改名单不会实时热更新。
如果只是想快速验证某个应用是否走了代理,不必依赖分应用功能,直接观察客户端的连接日志或流量面板里对应应用的域名请求记录即可,比反复调整名单更直观。
综合排查思路小结
把上面的内容串起来,安卓端代理不稳定的完整排查顺序建议是:先确认 VpnService 授权本身是否成功建立(看系统 VPN 列表里是否有活跃连接图标);再确认没有其他应用抢占了同一个 VpnService 名额;然后依次核对系统电池优化和厂商省电管理器两层白名单;最后如果用了分应用代理,检查模式和名单是否匹配预期。这四步基本能覆盖安卓平台上绝大多数"装了但不稳定"的情况,比盲目重装或换客户端效率高得多。