Androidでプロキシを使うには、まずVPN権限を確認し、次にバックグラウンド制限を解除してから、アプリごとの対象範囲を設定します。初回接続が拒否される、画面ロック後に切断する、一部のアプリだけプロキシを使いたい場合に役立つ内容です。順に確認すれば、通信がVPNに取り込まれていない、サービスが停止している、アプリが対象外になっている、という問題を切り分けられます。ノードを何度も変更する必要はありません。
VPN権限:まずAndroidの通信をVPNに接続する
v2rayNGはXrayコアでプロキシ接続を処理します。VPNモードではAndroidのVpnServiceを使って仮想ネットワークインターフェースを作成し、対象となるアプリの通信をクライアントに渡します。システムに表示される「接続リクエスト」は、この端末の通信をVPNに取り込むための許可です。サブスクリプションへのログインではなく、接続先サーバーへの接続成功を示すものでもありません。初回起動時に許可が必要ですが、権限が有効なら通常、次回以降は確認画面が表示されません。
通常、同じユーザーまたは仕事用プロファイルで同時に有効にできるVPNは1つです。ローカルVPNを使う別の通信フィルタリングアプリが動作中にv2rayNGを起動すると、既存の接続が置き換わることがあります。反対に、別のアプリがVPNを使用するとv2rayNGの接続が切断される場合もあります。仕事用プロファイルは組織の管理ポリシーで制限されることもあるため、個人用プロファイルの接続状態だけで判断しないでください。
-
動作モードを確認する
v2rayNGのサイドメニューから「設定」を開き、VPNまたは動作モードの項目でVPNモードになっているか確認します。ビルドによって設定名は異なる場合があります。プロキシのみのモードでは、ほかのアプリの通信は自動的にVPNへ取り込まれません。
-
設定を選択する
メイン画面に戻り、インポート済みで必要な項目がそろったサーバー設定を選んで、右下の接続ボタンをタップします。サブスクリプションを追加しただけでは設定一覧に項目が増えるだけで、サービスは起動しません。
-
接続を許可する
AndroidのVPN接続リクエストで「OK」または「許可」をタップします。誤ってキャンセルした場合は、メイン画面に戻って接続をやり直してください。権限を拒否した状態をノードのタイムアウトとして扱わないようにしましょう。
-
システムの状態を確認する
システムの「設定」→「ネットワークとインターネット」→「VPN」を開き、接続先がv2rayNGになっていることを確認します。メーカー独自のシステムでは「接続と共有」や「その他の接続」にある場合があります。「VPN」と検索すると見つけやすくなります。
-
実際に通信できるか確認する
プロキシ対象にしたブラウザーで目的のWebページを開き、クライアントのログも確認します。VPN接続中と表示されても、確立しているのは端末側のインターフェースだけです。接続先アドレス、TLS、DNS、ルーティングの問題でアクセスに失敗することがあります。
バッテリー最適化の対象外に設定して、画面ロック後の切断を防ぐ
画面点灯中は正常なのに、ロックしてしばらくすると接続が止まる場合は、プロトコルを変更する前にサービスが動作中か確認します。Androidのバッテリー最適化、メーカー独自のバックグラウンド管理、最近使ったアプリの手動終了は、プロセスに影響することがあります。一方、ネットワークの切り替えやスリープによって既存の接続だけが中断され、サービス自体は終了していない場合もあります。それぞれ対処方法が異なります。
以下は標準Androidに近い画面を想定した手順です。メーカーによって項目名は異なりますが、バックグラウンド実行の許可、バッテリー制限の解除、必要なバックグラウンド通信の許可を探してください。最適化対象外にしても、サービスが制限される可能性を下げるだけで、常時動作が保証されるわけではありません。接続先の問題も解決しません。
- バッテリー使用量の制限:v2rayNGのアイコンを長押し→「アプリ情報」→「アプリのバッテリー使用量」または「バッテリー」→「制限なし」を選択します。「バックグラウンドでの使用を許可」がある場合は、オンになっていることも確認してください。
- バッテリー最適化の一覧:システムによっては「設定」→「アプリ」→「特別なアプリアクセス」→「バッテリー最適化」から設定します。「すべてのアプリ」に切り替え、v2rayNGを選んで「最適化しない」に設定します。前項との関係は、実際の画面に表示される設定に従ってください。
- メーカー独自のバックグラウンド管理:システム設定で「自動起動」「バックグラウンド実行」「アプリ起動管理」などを検索します。v2rayNGが自動的に制限されている場合は、バックグラウンド実行を許可してください。端末の起動後にサービスを再開したい場合に限り、自動起動の設定も確認します。
- バックグラウンドデータ:「アプリ情報」→「モバイルデータとWi-Fi」で「バックグラウンドデータ」を確認します。データセーバーが有効な場合は、「無制限のデータ使用」の許可も必要か確認してください。
- 通知の表示:Android 13以降では、「アプリ情報」→「通知」で通知の権限を確認できます。通知はサービスの状態を把握するのに役立ちますが、通知が非表示でもVPNが停止したとは限りません。システムのVPN画面も確認してください。
| 確認できる現象 | まず確認する項目 | 次に行うこと |
|---|---|---|
| ロック後にシステムのVPN接続が消える | サービス停止、バックグラウンド制限、別のVPNによる置き換え | バッテリー制限を緩和し、別のVPNが自動起動していないか確認する |
| VPN接続は維持されるが、ネットワーク切り替え後にアクセスできない | 既存の接続の失効、DNS、接続先への再接続 | ログを記録してから接続を停止・再起動し、結果を比較する |
| 通知は消えたが、VPNは接続中 | 通知権限と通知カテゴリー | 通知設定を確認し、通知の有無だけでサービスの稼働を判断しない |
| 画面ロック後に特定のアプリだけ失敗する | 対象アプリ自体のバックグラウンドデータとバッテリー制限 | 対象アプリとv2rayNGのシステム権限をそれぞれ確認する |
まとめ:まずサービスの状態を記録してから省電力設定を変更する
同じネットワークで、画面点灯中と、画面をロックして10分後の2回アクセスし、VPNが接続中か、サービスが再起動しているかを記録します。10分は再現性のある確認時間の目安であり、システム制限が発動する固定時間ではありません。原因を特定できるよう、一度に変更する設定は1つにしてください。
アプリ別プロキシ:除外モードと選択アプリのみのモード
アプリ別プロキシでは、どのアプリの通信をVPNに取り込むかを指定します。取り込んだ後にどの経路へ送るかは、コアのルーティング設定で決まります。この2つは別の設定です。アプリを選んでも、すべての接続がリモートプロキシを経由するとは限りません。コアのルールが直接接続を選べば、その通信は直接接続されます。反対に、VPNから除外されたアプリは通常、システムの通常ネットワークを使い、このVPNのコアルールでは処理されません。
v2rayNGのサイドメニューから「アプリ別プロキシ」を開き、アプリ別設定を有効にしてから「除外モード」を確認し、アプリを選択します。ビルドによっては「設定」の中に項目があるなど、画面の表示が異なる場合があります。スイッチの説明を確認してください。除外モードが有効なら、チェックを付けたアプリが除外対象です。無効なら、チェックしたアプリがVPNの対象です。
選択したアプリだけをプロキシ経由にする
おすすめアプリ別設定を有効にし、「除外モード」をオフにして、VPNに取り込みたいアプリだけにチェックを付けます。まずはブラウザー1つで試しましょう。対象を絞ると、通信の入口とルーティングが想定どおりか確認しやすくなります。この方法はアプリ別設定を初めて確認するときの推奨手順であり、すべての利用状況に適しているという意味ではありません。
向いているケース:プロキシを使うアプリが少ない場合や、特定のアプリの通信問題を調べる場合。
選択したアプリをVPNから除外する
アプリ別設定を有効にし、「除外モード」をオンにして、VPNに取り込みたくないアプリにチェックを付けます。それ以外のアプリはこのVPNの対象になります。新しくインストールしたアプリも通常は対象に含まれるため、実際の設定を確認してください。
向いているケース:ほとんどのアプリをVPNに接続し、一部のローカルサービス用アプリだけ通常のネットワークを使う場合。
- チェックの意味を取り違えない:除外スイッチを切り替えると、一覧のチェックの意味も変わります。先にモードを決めてから一覧を確認し、以前の選択をそのまま使って意図と反対の設定にならないようにしてください。
- 変更後は接続し直す:アプリ別の一覧は、VPNインターフェースの作成時に適用されることがあります。v2rayNGの接続を停止して再起動し、テストするアプリも完全に終了してから開き直してください。以前の接続が再利用されるのを防げます。
- アプリの識別に注意:アプリの複製、仕事用プロファイルのアプリ、個人用プロファイルのアプリは、ネットワーク上では別のアプリとして扱われる場合があります。元のアプリにチェックを付けても、複製アプリまで対象になるとは限りません。
- 再インストール後は再確認:再インストール、アプリのパッケージ名の変更、プロファイルの切り替え後は、一覧をもう一度確認してください。ホーム画面の名前だけでは選択が有効か判断できません。
アプリ別設定とルーティング:通信の入口から接続先まで確認する
「ブラウザーは使えるのに、別のアプリが開かない」場合は、通信の入口、アプリ一覧、ルーティング、接続先の4段階で確認します。DNS、サブスクリプション、アプリ別モードを同時に変更しないでください。復旧しても原因を特定できなくなります。比較する2つのアプリでは、できるだけ同じような接続先にアクセスしてください。サービスごとの接続可否の違いだけでは、ルーティングの異常とは判断できません。
| 処理段階 | 確認する内容 | よくある誤判定 |
|---|---|---|
| システムのVPN接続 | 権限が付与されているか、サービスが動作中か、別のVPNに置き換えられていないか | 設定をインポートしただけで接続も開始したと思い込む |
| アプリ別の対象一覧 | スイッチ、除外モード、対象アプリにチェックが付いているか | 除外対象の一覧をプロキシ対象の一覧と取り違える |
| コアのルーティング | ドメインまたはIPに一致したルールと、対応するアウトバウンドタグ | VPNに取り込まれれば必ずプロキシ経由になると思い込む |
| 接続先と名前解決 | 接続タイムアウト、TLSエラー、DNSの名前解決結果 | サーバーへの接続失敗をAndroidの権限の問題だと思い込む |
たとえば「選択したアプリのみをプロキシ」に設定し、ブラウザーだけを選んだ場合は、まずブラウザーが新しい接続を確立できるか確認します。次にログで接続先アドレスとアウトバウンド情報を確認してください。ログの詳細はログレベルやコアの出力内容によって異なります。接続先の記録が見当たらないだけでは、そのアプリがVPNに取り込まれていないとは断定できません。アプリがキャッシュを使っている、以前の接続を維持している、または新たな通信を行っていない可能性があります。
よくある質問:権限・バックグラウンド動作・アプリ一覧
接続をタップしても権限の確認画面が表示されない場合は?
まずシステムの「設定」→「ネットワークとインターネット」→「VPN」を開き、v2rayNGがすでに接続中か確認します。権限が有効なら、確認画面は再表示されません。接続されていない場合は、クライアントがプロキシのみのモードになっていないか確認します。次に、別のVPNが常時接続に設定されていないか確認し、最後にクライアントの起動ログを確認してください。
「制限なし」に設定したのに、ときどき切断されるのはなぜ?
バッテリー設定で解除できるのは、バックグラウンド制限の一部です。まず、VPNの接続自体が消えるのか、VPNは接続中なのにWebページがタイムアウトするのかを区別し、それぞれメーカー独自のバックグラウンド管理とネットワーク切り替えを確認してください。テスト中はv2rayNGを手動で終了したり、アプリ情報から「強制停止」をタップしたりしないでください。強制停止するとサービスが停止します。
アプリにチェックを付けたのに、プロキシを経由しないのはなぜ?
まず「アプリ別プロキシ」を開き、「除外モード」を確認します。有効なら、チェックを付けたアプリは除外対象です。そのアプリだけをVPNに接続するには、除外モードをオフにし、対象アプリのチェックを残してください。その後、接続を停止して再接続し、対象アプリも開き直します。それでも解決しない場合は、コアのルーティングで直接接続になっていないか確認してください。
銀行アプリをVPNから除外してもネットに接続できない場合は?
まずシステムのVPN詳細を開き、「VPN未接続時の通信をブロック」が有効になっていないか確認します。次に、対象アプリ自体にモバイルデータの使用権限があるか確認してください。VPNが端末に存在することを検出して制限するアプリもあります。アプリ別設定でVPNから除外しても、その検出結果が変わるとは限りません。VPNを停止した状態でもテストし、VPNが問題に関係しているか確認してください。
v2flyNGに切り替えたら、すべての設定をそのまま使えますか?
v2rayNGはXrayコア、v2flyNGはV2Flyコアを使用しており、対応するプロトコルや設定項目は完全には一致しません。バックグラウンド動作の問題を解決する目的でクライアントを変更するのは避けてください。切り替える前にノードとの互換性を確認し、新しいクライアントでシステム権限、バッテリー制限、アプリ別の対象一覧を確認してください。
確認が終わったら、システムのバージョン、動作モード、アプリ別設定の状態、除外モードの状態、切断時にシステムのVPNが接続中だったかを簡潔に記録しておきます。ログを共有する前に、サブスクリプションURL、認証情報、個人の利用状況が特定される情報を削除してください。「接続できない」とだけ伝えるより、問題の切り分けが容易になります。