VPNの許可とバックグラウンドでの動作を分けて考える
Clash Meta for Androidは、CMFAと略されることがあります。AndroidのVpnServiceを使ってローカルVPNインターフェースを作成し、取り込んだ通信をコアに渡して処理します。設定内のルール、プロキシグループ、ノードによって通信の転送先が決まります。システムのVPN許可はアプリによるインターフェースの作成を許可するもので、サブスクリプションを提供したり、ノードの利用可能性を保証したりするものではありません。
Androidで「VPN接続済み」と表示されても、すべての通信がリモートプロキシ経由とは限りません。ルールによって一部の通信を直接接続にしたり、アプリごとの設定で特定のアプリをVPNの対象外にしたりできます。問題を調べるときは、「トンネルが確立しているか」「アプリの通信がVPNに取り込まれているか」「ルールで適切な出口が選ばれているか」を分けて確認しましょう。
| 設定項目 | 役割 | 代わりにはならない設定 |
|---|---|---|
| VpnServiceの許可 | ローカルVPNインターフェースの作成を許可する | サブスクリプションの読み込みやノードの選択はできない |
| バッテリー最適化の対象外 | 待機中のバックグラウンド動作に対するシステムの制限を緩和する | メーカー独自のプロセス管理によるアプリ終了を完全には防げない |
| バックグラウンド起動の許可 | 特定の状況でバックグラウンドコンポーネントの起動や復帰を許可する | 初回のVPN接続確認は代替できない |
| 最近使ったアプリでのロック | 一括クリーンアップ時にアプリが誤って終了される可能性を下げる | バッテリーやネットワークの権限は代替できない |
初回接続:VpnServiceを許可する
「設定 → 有効化 → 確認」の順に進む
- Clash Meta for Androidを開き、「設定」に進んで、既存のサブスクリプションURLまたはローカル設定ファイルを読み込みます。読み込みが完了したら、使いたい設定を選びます。
- メイン画面に戻り、起動ボタンをタップします。バージョンによって、「停止中」と表示されたり、起動アイコンやサービス状態のカードが表示されたりします。
- Androidに表示される「ネットワーク接続のリクエスト」またはVPN接続の確認画面を読み、アプリ名が使用中のクライアントと一致していることを確認してから「OK」をタップします。
- システムのVPN状態とクライアントの動作状態を確認します。ステータスバーに鍵のアイコンが表示される機種もあれば、コントロールセンター内にVPN状態が表示される機種もあります。
- 「プロキシ」を開いて、現在選択されているプロキシグループを確認します。普段使うWebサイトを開き、「ログ」で接続状況やエラーを確認します。
システムの確認画面が表示されるのは、通常、未許可の場合、許可が無効になった場合、またはVPNアプリを切り替えた場合です。起動のたびに表示されるわけではありません。Android 13以降では通知の許可を求められる場合もありますが、通知とVPNは別々の権限です。通知を許可すると動作状態を確認しやすくなりますが、通知を拒否しただけでVPNが起動できないとは限りません。
確認画面が出ない場合は、ほかのVPNを確認
通常、同じAndroidユーザーまたは仕事用プロファイルで同時に使用できるVPNサービスは一つです。広告ブロッカー、ファイアウォール、会社のVPN、ほかのプロキシクライアントが使用中の可能性があります。同じプロファイル内で動作中のVPNを停止してから、CMFAを起動してください。アプリ名だけで判断しないようにしましょう。一部のフィルタリングアプリもローカルVPNインターフェースを使用します。
システムの「設定」を開き、「VPN」を検索して、現在のVPNの歯車アイコンから設定を開きます。ほかのアプリで「常時接続VPN」が有効になっている場合は、用途を確認してから無効にするか判断してください。組織の管理下にある端末ではVPNの変更が制限されている場合があり、管理者による対応が必要です。許可画面の確認ボタンを押せない場合は、一時的にフローティングウィンドウや画面フィルターなどのオーバーレイを無効にして再試行してください。出所の分からない許可画面をむやみに操作しないでください。
バッテリー最適化の除外:まずアプリの電池設定を変更
AndroidのDozeやアプリスタンバイは、端末がアイドル状態になるとネットワークやバックグラウンドタスクを制限します。メーカー独自のクリーンアップ機能が加わる場合もあります。VPNサービスを継続して動かしていても、プロセスが終了されないとは限りません。目的は不要な制限を減らすことであり、端末全体の省電力機能を無効にすることではありません。
以下に、主なシステムでの設定場所を示します。メニューは記載したOSシリーズを基準にしていますが、マイナーアップデート、地域版、端末モデルによって名称が異なる場合があります。見つからない場合は、システム設定で「バッテリー最適化」「バックグラウンドでの電池使用量」「自動起動」などを検索し、Clash Meta for Androidが設定対象になっていることを確認してください。
| 対象システム | 主なメニューの場所 | 確認する項目 |
|---|---|---|
| Pixel / Android 13 | 設定 → アプリ → すべてのアプリを表示 → Clash Meta for Android → アプリのバッテリー使用量 | 「制限なし」を選択し、「制限あり」は選ばない |
| Xiaomi / MIUI 14 | 設定 → アプリ設定 → アプリ管理 → Clash Meta for Android → バッテリーセーバー | 「制限なし」を選択し、自動起動の許可も確認する |
| Samsung / One UI 6 | 設定 → バッテリー → バックグラウンドでの使用制限 → スリープ状態にしないアプリ | クライアントを追加し、ディープスリープのリストにも入っていないか確認する |
| Huawei / HarmonyOS 4 | 設定 → バッテリー → アプリ起動管理 → Clash Meta for Android | 手動管理に切り替え、自動起動・関連起動・バックグラウンドでの動作を許可する |
| OPPO / ColorOS 14 | 設定 → バッテリー → その他の設定 → アプリの電力管理 → Clash Meta for Android | 「バックグラウンドでの動作を許可」などを確認し、バックグラウンド実行を維持する |
| vivo / OriginOS 4 | 設定 → バッテリー → バックグラウンドでの電池使用量管理 → Clash Meta for Android | 「バックグラウンドでの高い電力消費を許可」などの設定を確認する |
自動起動とバックグラウンド通信も確認
- Xiaomi:MIUI 14では「設定 → アプリ設定 → 権限管理 → 自動起動管理」から権限を確認できます。HyperOSの一部バージョンでは「バックグラウンド自動起動」と表示されます。
- Samsung:「スリープ状態にしないアプリ」に追加できない場合は、「設定 → アプリ → Clash Meta for Android → バッテリー」で「制限なし」になっているか確認します。リストへの追加を目的に、何度も制限設定を切り替える必要はありません。
- その他のシステム:アプリアイコンを長押しして「アプリ情報」を開き、バッテリー、モバイルデータ、通知の設定をそれぞれ確認します。データセーバーが有効な場合は、バックグラウンドデータと「無制限のデータ使用」も確認してください。
設定は一度に一つの項目だけ変更し、その都度、画面を消灯して動作を確認します。省電力や通信制限をすべて一度に無効にすれば一時的に接続が戻ることはありますが、原因を特定しにくくなり、端末の消費電力が増えるおそれもあります。バックグラウンド動作に問題がなく、消費電力が高いままの場合は、頻繁な再接続、利用できないノード、短すぎる接続確認間隔なども確認してください。
バックグラウンドでのロック、自動起動、常時接続VPN
最近使ったアプリをロックして誤終了を防ぐ
最近使ったアプリの画面を開き、CMFAのカードを探します。Xiaomiなどのシステムでは、カードを長押しして鍵アイコンを選ぶとロックできます。ほかのシステムでは、カードのメニューに「ロック」や「開いたままにする」があります。端末にこの機能がある場合にのみ使用してください。特定の操作方法をすべてのAndroid端末に共通する手順だと考えないでください。
ロックで防げるのは、主に最近使ったアプリの一括終了です。システムのバッテリー最適化除外とは別の設定で、「アプリ情報 → 強制停止」も防げません。手動で強制停止した場合、通常のバックグラウンド動作で自動復帰できないことがあるため、ユーザーがアプリを再度開く必要があります。クリーンアップツール、ゲームブースター、極端な省電力モードも個別に確認してください。
必要に応じて自動起動を有効にする
クライアントのバージョンに自動起動の設定がある場合は有効にし、システム側でも自動起動を許可します。設定後は端末を実際に再起動し、ロックを解除してサービスが復帰するか確認してください。スイッチをオンにしただけでは、起動時にVPNが接続することを確認したことにはなりません。OSのバージョン、初回ロック解除の状態、バックグラウンド起動の制限によって結果が変わる場合があります。
「常時接続VPN」はAndroid側の機能で、クライアントの自動起動はアプリ側の設定です。別々の設定なので混同しないでください。システムに常時接続の項目がない場合や選択できない場合は、関係のない権限を変更して無理に有効にしないでください。問題の切り分けでは変更前の状態を記録し、通信を復旧する際に遮断設定を戻し忘れないようにしましょう。
画面消灯後の切断:症状から原因を絞り込む
まず画面が点灯している状態で正常に接続できることを確認し、充電ケーブルを外してテストします。充電中かどうかで、端末が待機状態に入る条件が変わることがあります。同じテスト用アプリ、同じWebサイト、同じノードを使い、画面消灯から1分、5分、15分、30分後に順に確認します。これらは確認の目安であり、特定の機種での実測値や接続を保証するものではありません。
| 確認できた症状 | まず確認する項目 | 次に行うこと |
|---|---|---|
| ロック解除後にVPNの状態が消えている | サービスが停止したか、ほかのVPNに切り替わったか | バッテリー制限、クリーンアップの履歴、システムのVPN設定を確認する |
| VPNは接続中だが、すべてのアプリで通信できない | ノード、DNS、ネットワーク切り替え | ログを確認し、Wi-Fiとモバイルデータを別々にテストする |
| 特定のアプリだけで問題が起きる | アプリごとのプロキシ設定、そのアプリのバックグラウンドデータ、ルールの一致状況 | そのアプリがVPNの対象に含まれているか確認する |
| 通知だけが遅れ、ロック解除後すぐに届く | 対象アプリ自体の省電力設定とプッシュ通知の仕組み | 対象アプリ側の設定も確認する。CMFAだけを最適化の対象外にしても解決しない場合がある |
| Wi-Fiからモバイルデータに切り替えると接続が切れる | ネットワーク切り替え後の再接続、モバイル回線、データ通信の権限 | 切り替えた時刻を記録し、ログのタイムアウトや名前解決エラーと照らし合わせる |
DNSとプロキシノードを分けて確認する
ログに名前解決のタイムアウトが集中している場合は、省電力設定をすぐに変更せず、サブスクリプションのDNS設定と現在のネットワーク接続を先に確認してください。Android 9以降の「プライベートDNS」によって名前解決の経路が変わる場合もあります。個人所有の端末で変更が許可されている場合は、元の設定を記録したうえで一時的に「自動」に切り替えて比較し、テスト後に元へ戻してください。会社や学校のネットワークで必要な設定は、用途が分からないまま削除しないでください。
接続ログにノードへの接続失敗が続けて記録されている場合は、利用できることが分かっているノードに切り替え、ほかの条件をそろえて確認してください。VPNアイコンが表示されていても、インターフェースが動作していることを示すだけで、リモートサーバーが正常とは限りません。逆に、Webサイトが開けないだけでVPNがシステムに終了させられたとは断定できません。
再テストの記録と問題の報告
設定後、モバイルデータ、Wi-Fi、端末の再起動をそれぞれ一度ずつテストします。各回で変更する条件は一つだけにしてください。「いつ画面を消灯したか」「いつロックを解除したか」「VPNの状態が維持されたか」「サービスを手動で再起動する必要があったか」を記録すると、「バックグラウンドが不安定」という説明だけの場合より原因を特定しやすくなります。
- 端末情報:スマートフォンの機種、Androidのバージョン、メーカーOSの完全なバージョン番号、クライアントの「情報」画面に表示されるバージョンを記録します。
- 動作条件:ネットワークの種類、充電中かどうか、省電力モードの状態、常時接続VPNの状態を記録します。
- 再現手順:画面を消灯した時間、最近使ったアプリを終了したか、ネットワークを切り替えたか、すべてのアプリに影響するか特定のアプリだけかを記録します。
- ログの範囲:問題が発生する前後の関連部分を切り出します。共有する前に、サブスクリプションURL、アクセストークン、ノードの認証情報、個人用ドメインを隠してください。
さらに詳しく調べる場合は、信頼できるPCでAndroidのデバッグツールを使い、待機状態を確認できます。以下のコマンドは情報を読み取るだけで、バッテリー設定は変更しません。USBデバッグに慣れていない場合は省略し、クライアントのログやシステムのスクリーンショットを中心に確認してください。
adb shell dumpsys deviceidle
adb shell dumpsys connectivity
dumpsys deviceidleは端末のアイドル状態や最適化除外に関する情報の確認に役立ち、dumpsys connectivityはネットワークやVPNの状態の確認に役立ちます。Androidのバージョンによって出力形式は異なります。また、除外リストに記録があっても、メーカー独自のバックグラウンド管理の影響がないとは限りません。診断結果にネットワーク情報が含まれる場合があるため、送信前に内容を確認してください。
問題を解決できる必要最小限の設定だけを残しましょう。VPNの許可を確認し、クライアントに必要なバックグラウンド制限を緩和し、必要に応じて最近使ったアプリでロックしたうえで、画面消灯やネットワーク切り替えのテストを行います。切断を減らせるだけでなく、システムのアップデート後も設定を一つずつ確認しやすくなります。設定の詳しい説明はユーザーマニュアルをご覧ください。読み込みや接続で問題が起きた場合は、ヘルプセンターもご確認ください。