まずv2rayNGのVPN接続が使えることを確認し、VPNに通すアプリを選んでから、バッテリー最適化と再起動後の復旧設定を見直します。「ブラウザーは使えるのに他のアプリは通信できない」「画面ロック後に切断される」といったAndroidのトラブルを対象に、アプリの選択、Xrayのルーティング、バックグラウンド制限を切り分けて解説します。
1. VpnServiceが通信の入口を決め、Xrayが接続先を選ぶ
v2rayNGは、Xrayコアを使ってプロキシ接続を処理するAndroidクライアントです。VPNモードを有効にすると、AndroidのVpnServiceが仮想ネットワークインターフェースを作成し、対象アプリの通信をコアに渡します。初回接続時に表示されるシステムのVPN許可ダイアログは、このインターフェースの作成に必要な許可です。サブスクリプションへのログインではなく、ノードへの接続成功を示すものでもありません。
ここでは2つの判定が行われます。アプリ別設定では、そのアプリの通信をVPNに通すかどうかを決めます。VPNに入った通信は、Xrayがルーティングルールに基づいてプロキシ、直接接続、またはブロックのいずれかに振り分けます。そのため、ブラウザーを選択しても、すべてのリクエストがリモートノードを経由するとは限りません。直接接続ルールに一致したリクエストは、接続先に直接アクセスする場合があります。
これらはシステムの仕組みであり、接続性能を示す指標ではありません。同じユーザー環境で、ローカルVPNを使うフィルタリングアプリやセキュリティアプリを起動すると、v2rayNGの接続が置き換えられることがあります。まずそのようなアプリを一時停止してテストしてください。仕事用プロファイルとメインユーザーではVPNの管理範囲が分かれる場合があります。仕事用プロファイルのアプリを使って、メインユーザーのアプリ別リストを検証しないでください。
2. アプリ別プロキシ:モードを選んでからアプリを指定
v2rayNGでは通常、サイドメニューの「設定」→「アプリ別プロキシ」から設定します。画面には「アプリ別プロキシを有効にする」「バイパスモード」などの項目があります。リリースによって表記やメニューの階層が異なる場合があるため、選択したアプリの扱いに関する画面上の説明を確認してください。重要なのは選択数ではなく、選択したアプリが「VPNに通す対象」なのか「除外する対象」なのかです。
利用するアプリの範囲に合わせてモードを選ぶ
一部のアプリだけVPNに通す
- アプリ別プロキシを有効にし、バイパスモードはオフにします。
- VPNに通すブラウザーなどのアプリを選択します。
- 選択していないアプリはこのVPNの対象外です。実際の通信はシステムの設定にも左右されます。
多くのアプリをVPNに通す
- アプリ別プロキシとバイパスモードをどちらも有効にします。
- ローカルネットワークだけ使いたいアプリなど、VPNから除外するものを選択します。
- それ以外のアプリはVPNに入り、コアのルーティングルールに従って接続先が選ばれます。
選択する前にモードの説明を確認してください。同じアプリ一覧でも、モードによって選択の意味が逆になります。
-
基本接続を確認
まずアプリ別プロキシをオフにし、メイン画面で利用可能な設定を選んで接続します。ブラウザーで、以前アクセスできたHTTPSページを開き、基本接続が使えることを確認してください。
-
アプリの絞り込みを有効化
接続を切り、「設定」→「アプリ別プロキシ」を開いて「アプリ別プロキシを有効にする」をオンにします。最初のテストではブラウザーを1つだけ選び、システムアプリをまとめて選ぶのは避けてください。
-
対象範囲を確認
選択したブラウザーだけをVPNに通す場合は、「バイパスモード」をオフにします。スイッチの色だけで判断せず、選択したアプリの扱いに関する画面の説明を確認してください。
-
VPNを再接続
メイン画面に戻って再接続し、新しいアプリ一覧でVPNインターフェースを作成します。対象アプリを終了してから開き直し、新しいリクエストを送ってください。以前の接続が判断に影響するのを防げます。
-
アプリを1つずつ追加
ブラウザーでの確認が済んだら、対象アプリを1つ追加するたびに再接続します。どの段階で問題が起きたか記録しておけば、すべてのアプリを一度に選ぶより、関連するコンポーネントやモードの問題を見つけやすくなります。
アプリの複製、仕事用プロファイル、同じ名前のアプリは、別々のインストールとして扱われる場合があります。アイコンだけで判断せず、ユーザーやプロファイルの識別情報、システムのアプリ情報を確認してください。ログイン、ダウンロード、リンクを開く操作などが別のアプリに引き継がれることもあります。メインのアプリを選択しても、呼び出されるコンポーネントまで対象になっているとは限りません。
3. バッテリー最適化の除外:最適化とバックグラウンド動作を区別
画面表示中は使えるのに、画面ロック後しばらくすると問題が起きる場合は、まずサービスが動作し続けているか確認してください。AndroidのDoze、アプリスタンバイ、メーカー独自のバックグラウンド管理は、それぞれ別の仕組みです。バックグラウンド実行を許可すると、アプリが終了させられる可能性を下げられますが、無効なノードの復旧にはならず、ネットワーク切り替え後も接続が途切れないと保証するものでもありません。
| 確認項目 | 一般的な設定場所 | 推奨する操作 |
|---|---|---|
| アプリのバッテリー制限 | v2rayNGのアイコンを長押し →「アプリ情報」→「バッテリー」または「アプリのバッテリー使用量」 | 「制限なし」や「バックグラウンドでの使用を許可」があれば、接続を維持するために該当する項目を有効にします。 |
| バッテリー最適化の対象 | 「設定」→「アプリ」→「特別なアプリアクセス」→「バッテリー最適化」 | すべてのアプリを表示し、v2rayNGを選んで「最適化しない」に設定します。システムによっては、この設定が別の項目に統合されています。 |
| 通知の権限 | 「アプリ情報」→「通知」 | 通知を許可すると、サービスの状態を確認しやすくなり、通知から切断する操作も利用できます。 |
| データセーバーの制限 | 「アプリ情報」→「モバイルデータとWi-Fi」または「データ使用量」 | バックグラウンドデータが許可されているか確認します。データセーバーを有効にしている場合は、データ使用量の無制限を許可するかも検討してください。 |
表に示したのはAndroidで一般的な設定場所であり、すべてのメーカーで共通する固定の手順ではありません。メニューが見つからない場合は、システム設定で「バッテリー最適化」や「バックグラウンド動作」を検索し、変更対象がv2rayNGであることを確認してください。システムによっては、独立したバックグラウンド管理の対象リストもあります。その場合は、バックグラウンド実行も許可してください。最近使ったアプリ画面でカードをロックする方法は補助的なもので、バッテリー権限の代わりにはなりません。
- まずv2rayNGだけを除外:テストのために端末全体の省電力機能を無効にせず、他のアプリには従来の設定を維持してください。
- 通知権限の仕組み:Android 13以降で通知権限を拒否しても、必ずフォアグラウンドサービスが停止するわけではありません。通知が表示されない場合は、クライアントとシステムのVPN画面で状態を確認してください。
- 画面ロックと強制停止は別:通常の画面ロックでバックグラウンド動作を確認します。「アプリ情報」で「強制停止」を押すとアプリの実行状態が変わるため、通常のバックグラウンド利用の再現には使えません。
4. 自動起動と常時接続VPNは個別に確認
「自動起動を許可」はシステムが起動動作を許可するかどうか、「起動後に接続」はクライアントが接続処理を行うかどうかを指します。「常時接続VPN」は、指定したVPNの維持をAndroidが試みるシステム設定です。それぞれ別の機能なので、1つを有効にしても、ほかの設定も有効になったとは限りません。
- メーカー独自の自動起動権限を確認。「アプリ情報」またはシステムのアプリ起動管理で、「自動起動」「関連起動」「バックグラウンド実行」を探します。これらの項目がない端末もあります。v2rayNGに必要な項目が実際にある場合だけ有効にしてください。
- クライアントの設定を確認。現在のv2rayNGの「設定」に、起動時の自動起動や自動接続の項目があれば、画面の説明に従って有効にします。利用中のバージョンに該当項目がない場合、不明な設定項目を追加して補おうとしないでください。
- システムのVPN設定を確認。一般的な場所は「設定」→「ネットワークとインターネット」→「VPN」→ v2rayNGの横にある設定ボタンです。システムとクライアントに「常時接続VPN」の設定があれば、必要に応じて有効にし、実際に再起動して確認してください。
- 再起動後、ロック解除して確認。まず端末のロックを解除し、v2rayNGが起動しているか、想定した設定に戻っているかを確認してからアプリの通信をテストします。初回のロック解除前から設定を読み込んで接続できると決めつけないでください。
再起動後のテストに問題がなければ、Wi-Fiからモバイルデータへの切り替えも試してください。ネットワークを切り替えると既存のTCP接続が切断されたり、再確立されたりするため、一時的な再接続だけでバックグラウンド終了とは判断できません。特定のノードだけ復旧しない場合は、バックグラウンド権限をさらに広げるのではなく、ノードと利用中のネットワークの相性を確認してください。
5. バックグラウンド切断・アプリの通信不良を症状別に切り分ける
一度に変更する設定は1つだけにしてください。「画面表示中の基本接続 → アプリの絞り込み → 画面ロック → ネットワーク切り替え → 再起動」の順に確認するのがおすすめです。以下の時間は再現テストの目安であり、実測結果や安定性を保証するものではありません。短時間正常に動作しても、長時間の待機で問題が起きないとは限りません。
| 症状 | 確認方法 | 次に行うこと |
|---|---|---|
| 特定のアプリだけ通信できない | 一時的にアプリ別プロキシをオフにし、再接続してから対象アプリを再起動します。 | 正常に戻った場合は、モード、選択したアプリ、呼び出されるコンポーネントを確認します。変わらない場合は、ルーティング、DNS、アプリ自体の接続を調べてください。 |
| 画面ロック後にVPNサービスが消える | 画面を10分間ロックし、解除後にクライアントの状態とシステムのVPN画面を確認します。 | バックグラウンド制限、ほかのVPNアプリによる接続の置き換え、ログに記録された停止や異常終了を確認してください。 |
| サービスは動作中だがリクエストがタイムアウトする | 同じネットワークのまま、利用できることが確認済みの別の設定に切り替えて試します。 | ノードへの到達性、DNS名前解決、ルーティングを調べてください。アイコンだけを見て省電力の問題と判断しないでください。 |
| ネットワークの切り替え後に通信できない | まずWi-Fiで試し、次にモバイルデータへ切り替えて、それぞれ新しいリクエストを送ります。 | モバイルデータの権限と現在のネットワークへの到達性を確認し、再接続時のログを確認してください。 |
ログを確認するときは、まず問題が発生した時刻を記録し、前後にある接続失敗、名前解決の失敗、サービス停止の情報を探します。DNSエラーは名前解決で問題が発生したことを示すだけで、アプリがVPNに入っていない証拠にはなりません。ルーティング設定のgeositeドメインリストも、Androidのアプリ選択リストの代わりにはなりません。両者は異なる階層で機能します。
他の人に相談するときは、Androidのバージョン、端末の機種、アプリ別プロキシのモード、画面表示中とバックグラウンドでの動作、機密情報を伏せたログを共有してください。サブスクリプションURL、認証情報、サーバーの認証情報は削除し、設定全体をそのまま公開しないでください。ブラウザー1つとノード1つで再現できる場合は、まずその最小構成で確認し、切り分けの妨げを減らしましょう。
6. よくある質問:アプリの選択、バッテリー消費、接続の復旧
アプリを選択したのに、なぜプロキシを経由しない?
まず「設定」→「アプリ別プロキシ」で「バイパスモード」を確認してください。バイパスモードが有効な場合、選択したアプリはVPNから除外されます。設定を変更したら切断して再接続し、対象アプリを終了してから開き直してください。それでも解決しない場合は、アプリ別プロキシを一時的にオフにして比較します。
バッテリー最適化をオフにしたのに、画面ロック後に切断されるのはなぜ?
ロックを解除したら、まずVPNサービスが動作しているか確認してください。サービスが消えている場合は、メーカー独自のバックグラウンド管理とほかのVPNアプリを確認します。サービスが動作中なら、利用できることが確認済みのノードに切り替え、問題が起きた時間帯のログを確認してください。バッテリー最適化の除外設定では、ノードの停止、DNSタイムアウト、ネットワーク切り替えの問題は解決できません。
アプリを1つだけプロキシ経由にすれば、必ずバッテリーが長持ちする?
必ずとは言えません。アプリ別設定でVPNの対象範囲は絞れますが、消費電力は通信量、電波強度、接続の再試行、対象アプリのバックグラウンド動作にも左右されます。同じ利用時間とネットワーク条件で、システムの「バッテリー使用量」を比較してください。1回の残量変化だけで結論を出さないようにしましょう。
自動起動を有効にしたのに、再起動後に手動で開く必要があるのはなぜ?
まず端末のロックを解除し、メーカー独自の自動起動権限と、クライアントに自動接続の設定があるかを確認してください。自動起動の権限は起動を許可するだけで、毎回の起動成功を保証するものではありません。「強制停止」を実行したことがある場合は、v2rayNGを手動で起動してから、通常の再起動テストをもう一度行ってください。
v2rayNGを終了すると、VPNから除外したアプリも通信できなくなるのはなぜ?
システムの「VPN」設定で「VPN未接続時の通信をブロック」が有効になっていないか確認してください。この通信ブロックが不要であれば、オフにして再度試します。ほかのVPNサービスが接続を引き継いでいないことも確認してください。システムレベルのネットワーク設定を解決するために、サブスクリプションを削除する必要はありません。