本文へ移動
プラットフォーム 読了目安 10分

Android版Clash Metaの使い方|VpnServiceの許可・アプリ別VPN・バッテリー最適化

AndroidでClash Metaを使う際のVPN接続許可、常時接続VPN、アプリ別VPNの設定方法と、主要機種でバックグラウンド動作を許可する手順を解説。接続切れの対策に役立ちます。

AndroidのVPNインターフェースとプロキシノードを区別する

Android版Clash Meta系クライアントは通常、AndroidのVpnServiceでローカルの仮想ネットワークインターフェースを作成し、受信した通信をMihomoコアに渡して処理します。ステータスバーにVPNの鍵アイコンが表示されるのは、システムがVPN接続を確立したことを示します。サブスクリプション内のノードに接続できていることや、すべてのアプリの通信がプロキシノードを経由することを示すものではありません。

通信ごとに、独立した2つの判定が行われます。まずAndroidがアプリの通信をVPNに渡すかを決め、次にコアがルールに基づいて直接接続、プロキシグループ、拒否のいずれかを選択します。クライアントを「ルール」モードにしている場合、DIRECTに一致する通信もVPNインターフェースを通過することがありますが、コアが直接接続を選んでいる状態です。

  • VPNの許可:システムがVPNに転送するネットワーク通信をクライアントが受け取れるようにします。
  • サブスクリプションと設定:ノード、プロキシグループ、DNS、ルーティングルールを提供しますが、システムの許可に代わるものではありません。
  • バッテリー設定:システムにバックグラウンドサービスを終了される可能性を下げます。無効なノードを復旧する機能ではありません。

VpnServiceの許可画面:初回接続と再度の要求

初回接続の手順

  1. 使用可能な設定をインポートし、選択中の設定が読み込めること、プロキシグループでノードが選択されていることを確認します。
  2. クライアントの起動または接続ボタンをタップします。システムの「接続リクエスト」が表示されたら、要求元が起動したばかりのクライアントであることを確認して「許可」を選びます。
  3. システムのVPN状態とクライアントのログを確認し、目的のWebサイトを開いて実際に接続できるかテストします。
  4. 直接接続される想定のWebサイトも開き、ルールによる振り分けが想定どおりか確認します。遅延テストの結果だけで、すべての通信を判断しないでください。

Androidでは通常、同じユーザーまたはプロファイルで同時に有効にできるVPNは1つです。広告ブロッカー、ファイアウォール、パケットキャプチャツール、会社のVPNも同じ仕組みを使う場合があります。新しい接続が古い接続に置き換わると、以前のクライアントは切断状態になることがあります。ノードの追加やポートの変更で解決する問題ではありません。

起動のたびに許可を求められる場合の確認点

まず、2つのVPNアプリを切り替えていないか、直前にアプリの再インストール、データ消去、VPN設定の削除などを行っていないか確認します。別のアプリに許可を与えた後は、現在のクライアントで再度許可を求められることがあります。仕事用プロファイルのVPNはデバイス管理ポリシーの制限を受ける場合があるため、個人用と仕事用の状態を混同しないでください。

許可画面をタップできない場合は、フローティングウィンドウや画面フィルターなどのオーバーレイを終了してから、システム設定またはクライアントで接続をやり直します。無関係なシステムセキュリティ機能を無効にして、許可画面を通過させないでください。組織管理の端末では、個人用VPNの作成が管理ポリシーで許可されているか確認してください。

常時接続VPNとVPN未使用時の接続をブロックする設定

標準に近いAndroidでは、通常「設定」→「ネットワークとインターネット」→「VPN」→クライアント右側の設定アイコンから開きます。Samsungでは「設定」→「接続」→「その他の接続設定」→「VPN」が一般的です。Android 7.0以降には常時接続VPNの機能がありますが、設定項目が表示されるか、利用できるかはクライアントの宣言内容や端末のポリシーによって異なります。

設定項目機能事前に確認すること
常時接続VPN起動後や接続切断時に、指定したVPNサービスの維持をシステムが試みるクライアントが対応し、設定をバックグラウンドで読み込めること
VPN未使用時の接続をブロックVPNを経由しないネットワーク通信を制限するVPNが利用できないと、ネットワーク全体が切断される場合がある
クライアントの自動起動アプリが起動後の処理を行うメーカー独自の自動起動権限が許可されていること

まず「常時接続VPN」だけを有効にし、スマートフォンを再起動して初回ロック解除を済ませた後、クライアントが再接続することを確認します。画面ロックやモバイルデータへの切り替えもテストしてから、「VPN未使用時の接続をブロック」を有効にするか判断してください。これはバックグラウンド動作を維持する設定ではなく、ネットワークアクセスを制限する機能です。

アプリ別VPN:対象リスト・除外リスト・ルールモード

クライアントの設定で「アプリ別VPN」「アクセス制御」「アプリ選択」などを探します。これらはAndroid VPNでアプリを選別する同種の機能を指す場合があります。項目名だけで動作を判断せず、「選択したアプリのみ」または「選択したアプリを除外」といった説明を確認してください。

2種類のリストの違い

  • 選択したアプリのみVPNを使用:対象リスト方式です。ブラウザーや一部のツールだけをVPNに接続し、ほかのアプリは従来のネットワーク経路を使う場合に適しています。
  • 選択したアプリをVPNから除外:除外リスト方式です。ほとんどのアプリをVPNに接続し、ローカルネットワーク経由が必要な一部のアプリだけを除外する場合に適しています。
  • VPN接続後もルールを適用:アプリを選択しても、プロキシノードの利用が強制されるわけではありません。ドメイン、IPアドレス、最終フォールバックルールによって通信経路が決まります。

AndroidのVPNでは、許可リストと拒否リストを同じ構築処理で併用できません。クライアントの画面でモードを切り替え、どちらかを選ぶ場合があります。リストを変更した後は通常、VPNを切断して再接続し、インターフェースを作り直して設定を適用する必要があります。ホーム画面に戻るだけでは反映されないことがあります。

Webページだけでなく、2つのアプリで確認する

  1. 一方のブラウザーをVPNの対象にし、もう一方を除外します。現在どちらのリスト方式を使っているか記録してください。
  2. クライアントを再接続し、2つのブラウザーをそれぞれ完全に終了してから再起動します。既存の接続が再利用される影響を抑えられます。
  3. 両方のブラウザーで同じサイトにアクセスし、クライアントの接続ログも確認します。VPN対象の通信はログに記録され、該当するルールや出口が表示されるはずです。
  4. 新しいアプリをインストールしたら、リストを確認し直してください。対象リスト方式では新しいアプリは通常、自動追加されません。除外リスト方式では通常、新しいアプリもVPNの対象になります。

アプリの複製、仕事用プロファイル、別ユーザーのアプリは、それぞれ別のアプリとして扱われることがあります。個人用スペースで選んだブラウザーの設定が、仕事用スペースの複製版にも適用されるとは限りません。また、ブラウザー独自の暗号化DNSが有効だと、DNSの経路がシステムの名前解決と異なる場合があります。アプリ別設定の不具合と決めつけず、切り分け時にあわせて記録してください。

バッテリー最適化の除外:バックグラウンド制限と自動起動を個別に設定

AndroidのDoze、アプリスタンバイ、メーカー独自のバックグラウンド管理は、それぞれ異なる制限です。クライアントは通常、フォアグラウンドサービスでVPNを維持し、継続的な通知を表示しますが、フォアグラウンドサービスでも終了を完全に防げるわけではありません。プロキシクライアントのバックグラウンド実行を許可しても、サブスクリプション内のすべてのノードが利用可能になるわけではありません。

まずクライアントのアイコンを長押しして「アプリ情報」を開き、「バッテリー」または「アプリのバッテリー使用量」を探します。バックグラウンドの動作を「制限なし」または「バックグラウンドでの使用を許可」に変更してください。システムに「バッテリー最適化」の一覧がある場合は、「すべてのアプリ」に切り替え、クライアントを選んで最適化の対象外にします。以下は一般的な設定場所です。システムのアップデートにより名称が変わる場合があります。

システム一般的な設定場所確認する設定
Pixel/標準に近いAndroid設定 → アプリ → すべてのアプリを表示 → クライアント → アプリのバッテリー使用量バックグラウンドでの使用を許可。設定項目がある場合は「制限なし」を選択
Xiaomi HyperOS/MIUIアプリ情報 → バッテリーセーバー。設定内で「自動起動」を検索「制限なし」を選び、クライアントの自動起動を許可
Samsung One UI設定 → バッテリー → バックグラウンドでの使用制限スリープ中のアプリ、ディープスリープ中のアプリから削除。選択できる場合は「自動スリープしないアプリ」に追加
OPPO/OnePlus ColorOSアプリ情報 → バッテリー使用量。設定内で「自動起動」を検索バックグラウンドでの動作を許可し、自動起動の権限を確認
vivo / iQOO設定 → バッテリー → バックグラウンドでのバッテリー使用量。設定内で「自動起動」を検索バックグラウンドでの高いバッテリー使用量を許可するなど、該当する制限を解除し、自動起動も許可
Huawei/HONOR系システム設定内で「アプリ起動管理」を検索対応している場合は手動管理に切り替え、自動起動、関連起動、バックグラウンドでの実行を許可

アプリが特定の許可リストの追加画面に表示されなくても、何度もインストールし直す必要はありません。すでに制限なしの状態か、別の設定画面で管理されている可能性があります。アプリ情報に戻って実際のバッテリー設定を確認してください。最近使ったアプリ画面での「ロック」は補助策であり、バッテリー設定や起動権限の代わりにはなりません。

Android 13以降の通知を確認する

通知を許可すると、VPNのフォアグラウンドサービスの状態を確認したり、停止ボタンを使ったりしやすくなります。Android 13以降で通知権限を拒否しても、フォアグラウンドサービスが必ず起動できなくなるわけではありません。そのため、通知欄に表示がないことだけでVPNが終了したとは判断できません。システムのVPN状態、クライアントの動作状態、接続ログをあわせて確認してください。

1つのクライアントのために、スマートフォン全体のバッテリー保護をすべて無効にしないでください。まず対象アプリの設定だけを変更してテストします。スーパー省電力や超省電力モードが有効な場合は、通常のアプリ許可リストだけでは従来どおり動作しないことがあります。テスト記録にその旨を残してください。

画面ロック後に切断される場合:プロセス終了・ネットワーク切り替え・ノード障害を切り分ける

以下の手順で再現可能なテストを行います。10分、30分は目安の観察時間であり、特定機種のバッテリー持続時間やバックグラウンド動作を保証するものではありません。効果を判断しやすいよう、設定は一度に1つだけ変更してください。

  1. 基準状態を記録:Wi-Fiに接続してクライアントを起動し、時刻、使用中のノード、プロキシモード、システムのVPNアイコンの状態を記録します。
  2. 10分間画面をロック:ロック解除後、まずVPNが接続中か確認してから目的のWebサイトを開きます。クライアントを開いた後にしか復旧しない場合は、バックグラウンド制限とサービスログを重点的に確認してください。
  3. 30分に延長:設定を変えずに同じテストを繰り返し、短時間の画面点灯によってバックグラウンドの問題が見えにくくならないようにします。
  4. ネットワークを切り替える:Wi-Fiからモバイルデータへ、さらに元へ戻します。アイコンが表示されたままリクエストがタイムアウトする場合は、ログで再接続、名前解決エラー、ノード接続エラーを確認してください。
  5. 再起動後に確認:再起動してロックを解除し、常時接続VPN、自動起動、設定の読み込みがそれぞれ有効になっているか確認します。

VPNアイコンが消え、クライアントも停止状態なら、サービスが終了したか、別のVPNに置き換わった可能性が高いでしょう。アイコンが表示され、ルールや接続ログも正常なのに接続先がタイムアウトする場合は、ノード、DNS、ネットワーク切り替えを確認してください。特定のアプリだけで問題が起きる場合は、アプリ別モードとアプリ自身のネットワーク設定を先に確認し、すぐにサブスクリプション全体をリセットしないでください。

継続して使うための設定チェックリスト

  • 使用するVPNを1つに絞り、広告ブロッカーや会社のVPNとの切り替え方を明確にします。
  • アプリ別リストが対象方式か除外方式かを記録し、変更のたびにVPNを再接続します。
  • まず常時接続VPNの動作を確認し、その後でVPN外の通信をブロックする必要があるか判断します。復旧できる設定画面も把握しておきます。
  • バッテリー設定と自動起動権限の両方を確認し、最近使ったアプリ画面でのロックだけに頼らないようにします。
  • 画面ロック、ネットワーク切り替え、再起動の3種類のテスト結果を記録し、クライアントまたはシステムの更新後に再確認します。

ルール、DNS、TUN関連の設定をさらに調整する場合は、初級から上級までの設定ガイドを参照してください。具体的なエラーがある場合は、まずよくある質問をご確認ください。調査記録を共有する際は、Androidのバージョン、クライアントのバージョン、発生時刻、関連するログの抜粋を記載し、サブスクリプションURL、アクセストークン、ノードのパスワードは伏せてください。

Clash をダウンロード