先判斷: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 頁面一直顯示已連線,請優先查看實際錯誤,不要繼續增加白名單。先區分底層網路無法使用、代理出口連線失敗與網域名稱解析失敗;這三種問題在瀏覽器中都可能顯示為逾時。
- 檢查行動數據權限:前往「應用程式資訊」→「行動數據與 Wi-Fi」,或廠商系統的「網路連線控制」,確認用戶端可使用目前的網路。若已開啟「數據節省模式」,請確認是否需要允許用戶端不受限制地使用數據。
- 檢查節點是否可連線:解鎖後,在相同網路下重新測試目前選用的節點,再換另一個已知可用的節點。延遲測試成功,不代表所有目標網站或 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」和用戶端的「開機啟動」都要開啟嗎?
兩者由不同層級管理:「一律啟用 VPN」是 Android 的 VPN 管理功能,「開機啟動」則是應用程式的啟動選項。先確認系統的「一律啟用」能否讓服務恢復,再依用戶端說明啟用開機啟動。如果廠商系統限制自動啟動,還需要在系統設定中允許;不要以為兩個選項都開啟,就能保證每次開機都成功。
需要將所有應用程式都加入省電白名單嗎?
不需要。先為執行 VPN 的用戶端設定必要的例外。如果特定業務應用程式本身收不到訊息,再另外檢查該應用程式的背景與通知權限。一次關閉所有應用程式的省電管理會增加耗電量,也會讓後續排查失去比較基準。
完成排查後,只保留最少且有效的設定:VPN 授權正常、用戶端允許必要的背景活動、依需求允許廠商系統的自動啟動,再視需要啟用「一律啟用 VPN」。最後再測試一次:鎖定螢幕期間不要開啟用戶端,確認連線恢復確實來自設定,而非手動進入應用程式觸發重新啟動。