Clash Android クライアント利用ガイド:VpnService 許可と省電力ホワイトリスト設定

Android の Clash はVpnService でローカルトンネルを構築します。初回起動時の許可設定、省電力機能によるバックグラウンド強制終了の挙動、各メーカー端末での省電力ホワイトリスト登録手順を項目別に解説します。

B-01VpnService とは何か、Clash Android がこれを避けられない理由

デスクトップ版の Clash(mihomo カーネルを採用した各種クライアントを含む)は通常、システムプロキシ設定または TUN 仮想ネットワークカードでトラフィックを引き受けますが、Android はセキュリティモデルの制約上、一般アプリに TUN デバイスを直接作成する権限がありません。Android は公式に VpnService という API を提供しており、ユーザーから明示的な許可を得たアプリだけがローカル仮想トンネルを構築し、端末上のネットワークトラフィックをアプリ内部に引き込んでからプロキシルールに従って転送できる仕組みになっています。Clash の Android クライアント(Clash Meta for Android、ClashMetaForAndroid 派生の FlClash、Clash for Android など)はすべてこの仕組みを利用しています——これは特定のクライアントの独自設計ではなく、Android システムが「全トラフィック引き受け」を許可する唯一の公式な入口です。

この点を理解しておくことが重要です。というのも、後述する「バグに見える現象」の大半は、システムが VpnService 系アプリに課す追加制限が原因であり、クライアント自体の問題ではないからです。VpnService が構築したトンネルは、ステータスバーに常時表示される鍵アイコンや「VPN 接続中」の通知として現れます。これは Android の強制的なセキュリティ設計であり、現在ネットワークトラフィックを読み取っているアプリがあることをユーザーに知らせるためのものです。この方式を採用するプロキシツールであれば必ずこのアイコンが表示され、消すことも消す必要もありません。クライアントの異常を示すものではありません。

B-02初回起動時:VpnService 許可と必須権限を一つずつ確認する

クライアントをインストールした後、初めて起動ボタン(またはスイッチを「接続済み」)を押すと、システム標準のダイアログが表示され、「このアプリが VPN 接続の作成を要求しています。ネットワークトラフィックの監視を許可しますか」といった内容が示されます。このダイアログは Android システムが直接描画するもので、クライアント側でデザインをカスタマイズすることはできず、表示をトリガーすることしかできません。「許可/OK」をタップすると、そのクライアントはシステムに VPN 許可済みアプリとして記録され、以降は基本的に再表示されません。ただし、設定でユーザーが手動で許可を取り消した場合や、クライアントのバージョンを変更した場合(パッケージ名や署名が変わるとシステムは別アプリとして扱います)は再度表示されます。

  1. 「許可」をタップしたか(「キャンセル」ではないか)を確認してください。誤ってキャンセルした場合、クライアント画面には接続失敗またはそのまま未接続状態に戻る表示が出ます。再度起動スイッチをタップすれば、許可ダイアログが再表示されます。
  2. 通知権限を確認してください。Android 13 以降では実行時通知権限が導入されました。通知権限を拒否すると、クライアントは通知バーに常駐できず、一部の端末では「前台通知のないアプリ」をより積極的にアイドル判定してバックグラウンド動作を制限することがあるため、通知権限は有効にしておくことを推奨します。
  3. 「他の VPN アプリとの排他制御」に関する表示を確認してください。Android システムは同時に1つの VpnService しか有効にできません。端末に他のプロキシツール、ペアレンタルコントロールアプリ、企業の MDM クライアントなどが入っていて VPN チャンネルを占有している場合、Clash クライアントは起動失敗や競合の警告を表示します。その場合は先にそちらを終了してから Clash を起動してください。
  4. ストレージまたはローカルファイル読み取り権限を確認してください(ローカル設定ファイルをインポートする場合)。一部のクライアントではローカルのサブスクリプションファイルやルールセットファイルをインポートする際にファイルアクセス権限が必要です。これを拒否すると、インポートボタンを押しても反応しなくなります。
注意 NOTE 同一端末に VpnService ベースのプロキシ系アプリを複数インストールして切り替えながら使うのは推奨されません。許可状態はシステムレベルで排他的であり、切り替えを繰り返すと「起動をタップしても状態がずっとぐるぐる回り続ける」という見かけ上のフリーズが起きやすくなります。このような場合は、まず他の VPN アプリが接続状態のままになっていないか確認してください。

B-03システムによる「バックグラウンド強制終了」:省電力機能が長時間張りっぱなしのトンネルに与える影響

VpnService が構築するプロセスは理論上フォアグラウンドサービスに分類され、通常のバックグラウンドプロセスよりシステムによる回収の対象になりにくいものの、あらゆる省電力機構から完全に免除されるわけではありません。Android は近年のバージョンで、Doze(ディープスリープ)モードや App Standby(アプリスタンバイグループ)機構を段階的に強化しており、端末が長時間静止し画面が消灯かつ未充電の状態が続くと、ホワイトリスト外のアプリのネットワークアクセスや CPU スケジューリングを周期的に停止させます。フォアグラウンドサービスの通知が表示されていても対象になり得ます。国内メーカー系 ROM(MIUI、ColorOS、原生UI、Flyme などのカスタム OS)は、Android 標準の省電力ポリシーの上に独自のバックグラウンド管理ロジックを重ねており、標準 Android よりも一般的に制限が厳しくなっています。これが同じクライアントでもメーカーによって「常時接続の安定性」の体感が大きく異なる主な理由です。

典型的な症状としては、画面ロック後しばらくするとプロキシが突然機能しなくなる、ステータスバーの鍵アイコンは表示されているのに実際のトラフィックはすでに切断されている、バックグラウンドに切り替えて数分後に手動で再度開かないと復帰しない、などが挙げられます。これらの現象は本質的にプロセスがシステムによってフリーズまたは制限されたことが原因であり、解決策はクライアント側の設定変更ではなく、システムの電池管理側でそのアプリを省電力ポリシーの対象外に設定することです。

B-04各メーカー端末で省電力ホワイトリストに登録する具体的な手順

以下の手順は各メーカーの主流バージョンでよく見られるメニュー構成をまとめたものです。実際のメニュー名称はシステムバージョンによって多少異なる場合があります。完全に一致する名称が見つからない場合は、設定の検索窓で「電池」「自動起動」「バックグラウンド」などのキーワードで検索してください。

標準 Android / 多くの端末に共通

  1. 設定 → アプリ → 対象の Clash クライアントを選択 → 電池
  2. 電池の最適化(または「バックグラウンドでの動作を許可」)を「最適化」から「制限なし」に変更
  3. 「自動起動管理」に相当する項目があれば、あわせて許可する

小米 / Redmi(MIUI、澎湃OS)

  1. 設定 → アプリの設定 → アプリの管理 → クライアントを選択 → 省電力戦略で「制限なし」を選択
  2. 同じ画面または「権限」カテゴリで「自動起動」を見つけて有効にする
  3. セキュリティセンター → アプリ管理 → 権限 → 自動起動管理で、該当アプリが許可状態になっているか再度確認

Huawei / Honor(EMUI、HarmonyOS、MagicOS)

  1. 設定 → アプリ → アプリ起動管理 → クライアントを選択し「自動管理」をオフにし、表示される3つのスイッチ(自動起動、連動起動、バックグラウンド動作)をすべて手動でオンにする
  2. 設定 → 電池 → その他の電池設定 → アプリ起動管理で、同様に手動管理かつすべて許可になっているか確認

OPPO / OnePlus(ColorOS)

  1. 設定 → 電池 → アプリの電池消費管理でクライアントを選択し、バックグラウンド動作と高消費電力を許可する
  2. スマホマネージャー → 権限・プライバシー → 自動起動管理で対応するスイッチをオンにする

vivo / iQOO(OriginOS / Funtouch OS)

  1. 設定 → 電池 → バックグラウンドの高消費電力アプリでクライアントにチェックを入れて許可する
  2. iマネージャー → アプリ管理 → 権限管理 → 自動起動で対応するスイッチをオンにする

Samsung(One UI)

  1. 設定 → アプリ → クライアントを選択 → 電池 → バッテリー使用量を「制限なし」に変更
  2. 設定 → バッテリーとデバイスケア → バッテリー → バックグラウンド使用の制限で、クライアントが「スリープ状態のアプリ」または「ディープスリープ状態のアプリ」の一覧に入っていないか確認
補足 上記の手順はいずれも本質的に同じことをしています。つまり、システムの省電力スケジューラに「このアプリは長期間ネットワークとバックグラウンド動作の権限を必要とするため、通常のスリープ/フリーズ対象から外してほしい」と伝えているのです。3つの層(システムの電池最適化、メーカーの自動起動管理、メーカーのバックグラウンド高消費電力ホワイトリスト)は独立したスイッチであることが多く、いずれか一つでも漏れると、しばらく張りっぱなしにした後に接続が切れる原因になります。1箇所だけでなく、すべての項目を順番に確認することを推奨します。

B-05接続は正常なのにサイトが開けない:VpnService に関わる2つの特殊なケース

省電力機能以外にも、「許可設定が正しくできていない」と誤解しやすい現象が2種類あるため、ここで個別に説明します。

1つ目:アプリ単位プロキシ(許可アプリ/対象外アプリ設定)の漏れ

一部の Android クライアントは、アプリ単位でどのアプリをプロキシトンネル経由にし、どのアプリを直接通過させるかを設定できます。この機能は VpnService が提供する addAllowedApplication/addDisallowedApplication インターフェースを利用しています。「指定アプリのみプロキシ経由」モードを設定したのに、ブラウザや対象アプリをリストに追加し忘れると、そのアプリのトラフィックは完全にトンネルを迂回してしまい、「Clash は接続済み表示なのにブラウザで目的のサイトにアクセスできない」という現象が起こります。トラブルシューティングでは、まずクライアントのアプリ単位プロキシ設定がグローバルモードかホワイトリストモードか、そして現在テストしているアプリがリストに入っているかを確認してください。

2つ目:DNS ハイジャックと TUN モードの相互作用

Android クライアントには「DNS の引き受け」といった名称のスイッチがよく見られ、TUN モードと併用している場合、システムのドメイン名解決リクエストもトンネル内に引き込まれてプロキシルールに従って処理されます。このスイッチが誤ってオフになっている状態で、キャリアの DNS が返した誤った解決結果がシステムにキャッシュされていると、「一部のドメインには接続できるが、一部は接続できない」という間欠的な現象が起こります。この場合はまず機内モードをオン・オフして再接続しシステムの DNS キャッシュをクリアし、その後 DNS 引き受けスイッチがオンになっているか確認してください。

おすすめ 日常的な利用では、クライアントを省電力ホワイトリストに登録した後、接続の安定性を確認する方法はシンプルです。画面をロックして30分以上端末に触れずに放置し、その後解除して接続状態と実際のアクセスが正常かを確認してください。この方法はクライアントを何度も再起動するより、省電力設定が実際に効いているかを確認するのに適しています。

B-06よくある症状のチェック早見表

症状優先して確認すべき方向
起動ボタンを押しても反応がなく、許可ダイアログも表示されない他の VPN アプリがチャンネルを占有していないか確認し、いったん切断してから再試行
接続直後は正常だが、画面ロック後しばらくすると失効する電池最適化・自動起動管理・バックグラウンド高消費電力の3つのホワイトリストがすべて許可されているか
ステータスバーの鍵アイコンは常時表示されているのにサイトが開けないアプリ単位プロキシのリスト、DNS 引き受けスイッチ、現在のノードが利用可能かどうか
バックグラウンドに切り替えて数分後、再度開かないと復帰しないメーカーの自動起動管理がシステムによって「スマート管理」に自動的に戻されていないか
クライアント更新後、再度許可設定が必要になった正常な現象です。署名やパッケージ名が変わるとシステムに別アプリとして認識されます

B-07まとめ

Android で Clash クライアントを使う際の中核となる流れは「VpnService 許可 → トンネル構築 → トラフィック転送」であり、この流れ自体は十分に安定しています。実際に体感を左右する問題のほとんどは、許可設定以外のシステム省電力管理に起因します。クライアントを電池最適化のホワイトリストに登録し、自動起動権限を許可し、バックグラウンド高消費電力の許可を確認したうえで、アプリ単位プロキシと DNS 引き受けスイッチが想定通り設定されているかをチェックすれば、日常利用における常時接続の安定性の問題はほぼカバーできます。メーカーごとに設定メニューの名称は異なりますが、基本的なロジックは共通しているため、新しい端末で該当項目が見つからない場合は「電池 / 自動起動 / バックグラウンド管理」というキーワードで設定内を検索すれば、たいてい正しいスイッチにたどり着けます。

手順どおりに進める:Clash クライアントをダウンロード

Android を含む各プラットフォーム向けの公式インストールパッケージを入手し、入門ガイドに沿って初回設定を完了しましょう。

Clash をダウンロード