1. 首頁
  2. 部落格
  3. Clash Android 客戶端使用要點:VpnService 授權與省電白名單設定

Clash Android 客戶端使用要點:VpnService 授權與省電白名單設定

Android 平台的代理客戶端依賴系統 VpnService 介面運作,授權流程、背景保活與省電策略三者互相牽連——任何一環沒設定到位,都會表現為「用著用著就斷了」。本文按實際排查順序講清每一步該做什麼。

VpnService 授權流程與鑰匙圖示含義

Android 系統不允許應用程式直接接管全域網路流量,所有基於 TUN 方案的代理客戶端(包括 Clash for Android、ClashMeta for Android 等)都必須透過系統提供的 VpnService 介面申請授權。首次開啟代理時,系統會彈出一個標準對話框,提示「應用程式想要設定經過 VPN 的連線」,這與安裝第三方 VPN App 的授權介面是同一套系統元件,並非客戶端自己繪製的介面。使用者點擊允許後,系統才會為該應用程式建立虛擬網卡,後續所有流量才能被截取並依規則分流。

授權生效後,狀態列會出現一個鑰匙形狀的圖示(部分客製化系統顯示為鎖形或「VPN」文字氣泡),這是 Android 原生的強制提示,用於告知使用者「目前有應用程式正在接管你的網路流量」,任何 VpnService 應用程式都會觸發這個圖示,與客戶端本身的安全性無關。圖示常駐期間裝置耗電會略有增加,這是虛擬網卡持續轉發封包的正常代價,不是異常狀態。

授權只需要在首次開啟或系統更新後重新彈出一次;如果每次開啟代理都彈出授權框,通常是系統在應用程式清單裡把該客戶端標記為「不受信任」,需要在系統設定的應用程式詳情頁裡手動信任。

部分品牌客製化系統(如某些廠商的深度客製化 ROM)會在 VpnService 授權之外額外增加一層「一律開啟的 VPN」選項,勾選後系統會保證該應用程式的虛擬網卡優先權更高,不容易被其他背景清理機制打斷,建議一併勾選。

為何背景會被系統終止

Android 為了控制整體耗電,對背景程序施加了多層限制,越新的系統版本限制越嚴格。這也是 Clash Android 客戶端「鎖螢幕一段時間後代理失效」這一常見反饋的根本原因。主要有三層機制在起作用:

  1. Doze 模式:裝置靜置且未充電一段時間後,系統進入低耗電狀態,大幅限制網路存取與背景工作排程,只允許高優先權的前景服務保持活躍。
  2. App Standby(應用程式待機分組):系統依使用頻率把應用程式分成活躍、工作集、常用、極少使用等分組,分組越靠後,可用的背景執行配額越少。
  3. 廠商客製化的省電管理:除了 Android 原生機制,多數品牌系統還疊加了自己的背景清理策略,這部分往往比原生系統更激進,是導致代理「莫名其妙斷開」的主要來源。

正常實作規範的代理客戶端會把核心轉發程序註冊為前景服務並常駐通知列,前景服務在系統優先權體系裡享有更高的存活權重,理論上不會被 Doze 或 App Standby 直接終止。但廠商客製化的省電策略經常會無視前景服務標記,強制凍結甚至直接結束程序,這正是需要手動設定白名單的原因。

省電白名單與自啟動允許清單設定

要讓 Clash 客戶端在背景穩定運作,需要在系統設定裡完成兩類授權,缺一不可:

設定項目作用典型入口
電池最佳化白名單阻止系統在背景限制該應用程式的 CPU 與網路排程設定 → 電池 → 電池最佳化 → 找到客戶端選「不最佳化」
自啟動管理允許應用程式在開機或被清理後自行重新拉起服務設定 → 應用程式管理 → 自啟動 / 權限管理
背景活動權限部分系統單獨控制「允許背景活動」,與電池最佳化是兩個獨立開關設定 → 應用程式詳情 → 電池 / 權限
鎖定背景工作在多工列表裡長按客戶端卡片,選擇鎖定/加鎖,防止一鍵清理時被回收最近工作列表

不同廠商的選單命名不完全一致,但思路一致:凡是帶有「智慧管理」「省電模式」「自動管理」字樣的選項,預設都是限制背景的,需要手動改為「允許」或「不限制」。建議按以下順序逐項檢查:

  • 先在電池設定裡把客戶端從「智慧省電」改為不受限制;
  • 再檢查自啟動權限是否已開啟,否則裝置重新開機後代理不會自動恢復;
  • 最後在最近工作列表裡鎖定應用程式卡片,避免「一鍵清理記憶體」把前景服務連帶終止。

把客戶端加入白名單後,系統仍可能在極端低電量或超長時間靜置場景下限制背景網路,這是硬體與系統層面的兜底策略,並非設定遺漏,重新開啟客戶端即可恢復。

分應用程式代理的設定方法

Android 客戶端普遍支援「分應用程式代理」,可以指定只有勾選的應用程式走虛擬網卡,其餘應用程式直連系統網路,常見於兩類場景:一是只想讓瀏覽器、即時通訊類應用程式走代理,銀行、支付類應用程式保持直連;二是排除某些對 VPN 環境敏感、連線會異常的應用程式。設定入口通常在客戶端設定的「網路」或「應用程式清單」分類下,提供兩種模式:

  1. 白名單模式:只有勾選的應用程式流量進入代理,未勾選應用程式直連,適合明確知道哪些應用程式需要代理的場景。
  2. 黑名單模式:除勾選的應用程式外,其餘全部走代理,只有勾選的應用程式直連,適合「預設全域代理,少數應用程式例外」的場景。

需要注意的是,分應用程式代理依賴的仍是系統 VpnService 提供的 addAllowedApplication / addDisallowedApplication 介面,設定修改後通常需要重新開啟一次 VPN 連線才會生效,不會即時熱更新。此外,系統自身的一部分服務(如 DNS 解析元件)可能不出現在應用程式清單中,這屬於系統層面的行為,不影響代理規則對一般應用程式的分流判斷。

VpnService · addAllowedApplication / addDisallowedApplication · 前景服務 · Doze

常見問題

鑰匙圖示能關閉嗎?

不能。這是 Android 系統對所有 VpnService 類應用程式的強制提示,用於安全告知,任何客戶端都無法在系統層面隱藏它,屬於正常現象。

已經加入白名單,為什麼偶爾還是會斷開?

極端低電量、長時間靜置進入深度 Doze、或裝置重新開機後自啟動權限被系統重置,都可能導致背景服務被暫時掛起,重新開啟客戶端介面即可恢復連線,不需要重新設定。

分應用程式代理和規則分流是同一回事嗎?

不是。分應用程式代理決定某個應用程式的流量是否進入虛擬網卡,是系統層面的開關;規則分流(如按網域、按 GEOIP 比對)決定進入虛擬網卡後的流量走哪個代理節點,兩者作用在不同階段,可以同時使用。

為什麼開啟代理後部分應用程式提示網路異常?

少數應用程式會偵測到裝置存在活躍的 VPN 連線並主動拒絕服務,常見於對網路環境敏感的應用程式。可以在分應用程式代理裡把這類應用程式設為直連排除,不影響其他應用程式繼續走代理。

取得 Clash 客戶端

Android 平台目前提供 Clash Meta for Android 等基於 mihomo 核心的客戶端安裝包,配合本文的授權與省電設定可獲得更穩定的背景表現。

下載客戶端