Proxyman で Android 実機の HTTPS 通信をキャプチャ
更新 #1: 2025 年 2 月 11 日、新しい Android Studio のバージョンとサンプルプロジェクトに対応
1. Android 実機から HTTP/HTTPS 通信のリクエスト/レスポンスをインターセプト・キャプチャする
Android デバイスの HTTPS 通信をインターセプトするのは、iOS より複雑です。この記事では、Android デバイスの HTTPS 通信のインターセプトを始める方法を解説します。
このチュートリアルでは、以下の内容を扱います。
- Android デバイスでプロキシを設定し、証明書をインストールする方法
- Proxyman で HTTPS 通信をインターセプトする方法
- トラブルシューティング

このチュートリアルは Android の実機向けです。Android エミュレータを使っている場合は、Android エミュレータの HTTPS 通信をインターセプトを参照してください。
Proxyman には Android エミュレータ用の自動スクリプトが付属しています。1 クリックですべての設定が完了します。より速く、簡単です。
2.0 Android 実機
2.1 準備
- Android Studio
- Android の実機。このチュートリアルでは、デモ用にエミュレータを使用します。
- サンプルの Android アプリ をダウンロードします
2.1 Android のセットアップ手順
- Proxyman アプリを開き、Certificate メニュー -> Install Certificate on Android -> Physical Devices を選択します
- この時点で、以下のようなセットアップガイドが表示されます:

2.2 Wi-Fi プロキシを Proxyman に設定
- Android エミュレータで Setting アプリ -> Wifi を開きます。Wi-Fi 接続が正常か確認してください。「Limited Connection」と表示されていると Wi-Fi プロキシを設定できないことがあります。その場合は、エミュレータを削除して作成し直してください。

- Wifi をタップし、2 か所の Edit ボタンをタップします


- HTTP プロキシの設定を開始し、Android ガイドに表示されているのと同じ IP アドレスとポートを入力します(Proxyman アプリ -> Certificate -> Install Certificate on Android Devices)

プロキシのホスト名とポートが、(Proxyman アプリ -> Certificate -> Install Certificate on Android Devices)に表示されている値と一致していることを確認してください。
2.3 Proxyman 証明書のダウンロードとインストール
- Android エミュレータで Google Chrome を開きます
- http://cert.proxyman.io または http://proxy.man/ssl にアクセスします
- 証明書をダウンロードし、VPN と App のカテゴリを選択します

- 次は、証明書をユーザーストアにインストールします。
- Android の Setting アプリを開き、Security -> Encryption & Credentials -> Install a Certificate -> CA Certificate -> ダウンロードした証明書を選択 -> Install Certificate -> Install の順に操作します(この画面は Android のバージョンや機種によって異なる場合があります)。
- Trusted Credentials 画面の User タブで、Proxyman 証明書が正しくインストールされていることを確認します。

注意事項:
http://cert.proxyman.io または http://proxy.man/ssl にアクセスできない場合:
- Wi-Fi プロキシが機能していません。エミュレータで Wifi を一度 OFF にしてから ON に戻すと解決することがあります
- Android デバイスで VPN を使用している場合は、VPN をオフにしてください
- 次の段階に進む前に、この時点ですべて正常に動作していることを確認してください
2.4 サンプルプロジェクトを起動
- サンプルの Android アプリ をダウンロードします
- Android Studio で開きます
- Proxyman アプリが起動していることを確認します
- Android Studio でサンプルプロジェクトを再度起動し、GET または POST ボタンをクリックします
- この時点で、Proxyman に HTTPS 通信が表示されます。google.com ドメインを選択し、SSL を有効にしてください

3. XML の設定
ドメインが XML の設定に記載されていない場合、Proxyman アプリは通信をインターセプトしないので注意してください。
res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Proxyman_Sample_OKHTTP_App"
tools:targetApi="31"
android:networkSecurityConfig="@xml/network_security_config">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.Proxyman_Sample_OKHTTP_App">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
- AndroidManifest.xml に追加します
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Proxyman_Sample_OKHTTP_App"
tools:targetApi="31"
android:networkSecurityConfig="@xml/network_security_config">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.Proxyman_Sample_OKHTTP_App">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
4. トラブルシューティング
Android エミュレータや API のバージョンによっては、エラーが発生する場合があります。
-
Android Studio で Wifi プロキシを設定した後、http://proxy.man/ssl にアクセスできません => エミュレータを再起動し、エミュレータの Wifi ステータスが「Connected」になっていることを確認してください => Android エミュレータを削除して、新しく作成し直してください
-
HTTPS 通信をインターセプトすると SSL エラーが発生します => Android エミュレータが Proxyman 証明書を読み込まないことがあります => プロジェクトを停止してから、もう一度起動してください。 => ドメインが res/xml/network_security_config.xml に記載されていることを確認してください
5. 次のステップ
- Proxyman には Android エミュレータ用の自動スクリプト があります。1 クリックですべての設定が完了します。より速く、簡単です。

Android に関する最新の注意事項
実機を使う場合は、Proxyman に表示される Mac の IP アドレスを使用し、両方のデバイスを同じネットワークに接続してください。Android の User ストアにインストールした証明書も、アプリによっては拒否されることがあります。そのため、自分でビルドしたデバッグ版では、ユーザー証明書を信頼するネットワークセキュリティ設定を使用できます。リリースビルドに、広範囲にわたるユーザー証明書の信頼設定を追加しないでください。また、自分が所有していない、または検証の許可を得ていないアプリを検査しないでください。
Proxyman は高性能な macOS アプリで、iOS デバイス、iOS シミュレータ、Android デバイス上のアプリやドメインからの HTTP/HTTPS リクエストをキャプチャできます。
ダウンロード:https://proxyman.com
