AndroidデバイスにCharlesをプロキシ構成する方法
この記事では、AndroidデバイスでネットワークリクエストをCharlesを通じてプロキシする構成方法について説明します。Charlesは、Android用Tealiumの実装をトラブルシューティングおよびデバッグする際に役立ちます。
Charlesプロキシの構成
以下の手順に従ってCharlesプロキシを構成してください:
- Proxy > Proxy Settingsに移動します。
- Proxiesタブをクリックし、HTTP Proxy Portフィールドに
8888
を入力します。 - Proxy > SSL Proxying Settingsに移動します
- SSL Proxyingタブをクリックし、Enable SSL Proxyingチェックボックスを選択して場所を構成します。
- デフォルトでは、リストに含まれる特定のドメインに対してのみSSLプロキシングを行います。
- Addをクリックし、上記の場所リストに
*.*
を入力します。 - アプリが正常に機能しなくなった場合、アプリがCharlesプロキシの自己署名証明書を拒否している可能性があります。この場合、ワイルドカードマッチを無効にし、
*.tealiumiq.com
および*.tiqcdn.com
のTealiumドメインのみをリストに追加してください。
- ポートのデフォルト値は
443
です。このフィールドは空白のままにしておくことができます。Charlesが自動的に構成します。
IPアドレスの特定
コンピュータのIPアドレスを特定するには:
Macでは、システムトレイのネットワークアイコンをクリックする際にOptionキーを押し続けることができます。
- IPV4アドレスをメモしておき、後の手順で使用します。
AndroidデバイスをCharlesプロキシで使用するように構成
以下の手順に従って、AndroidデバイスをCharlesプロキシで使用するように構成してください:
- Settings > Wifiに移動します。
- 現在接続しているWifiネットワークデバイスの電源キーを長押しします。
- モーダルが表示されたら、Modify Networkを選択します。
- Show Advanced Optionsを選択してプロキシオプションを表示します。
- Proxyの下でManualを選択します。
- Proxy Host Nameフィールドに、以前に開発マシンから保存したIPV4アドレスを入力します。
- Proxy Portフィールドに、Charlesの構成時に使用した
8888
を入力します。 - Saveをクリックして構成を保存し、終了します。
- デバイス上のブラウザを開いてテストします。CharlesはSSLプロキシングを許可するか拒否するかを尋ねるダイアログを表示します。
- Allowをクリックします。SSLプロキシングを許可するように求められない場合は、Charlesを再起動して再試行してください。
- デバイスからhttp://charlesproxy.com/getsslにアクセスし、Charles SSL証明書をダウンロードします。
新しいバージョンのAndroidでは、download unsuccessful
のようなエラーが発生する場合があります。その場合は、以下の指示に従ってください: - 証明書に名前を付け、信頼された証明書として確認します。完了したら無効にするか削除してください。
- 証明書がインストールされた後、PINを構成します。
Android N以降の追加構成手順
Android N以降では、アプリケーションがCharles SSLプロキシングによって生成されたSSL証明書を信頼するように構成を追加する必要があります。これは、制御するアプリケーションでのみSSLプロキシングを使用できることを意味します。
アプリをCharlesを信頼するように構成するには、まずNetwork Security Configuration Fileをアプリに追加する必要があります。このファイルはシステムのデフォルトをオーバーライドし、アプリがユーザーがインストールしたCA証明書、例えばCharles Root Certificateを信頼するようにします。
構成ファイルで、これがデバッグビルドのアプリケーションでのみ適用されるように指定することもできます。これにより、本番ビルドはデフォルトの信頼プロファイルを使用します。
Network Security Configuration Fileを追加し、アプリのマニフェストにファイルへの参照を追加する手順は次のとおりです:
- 次の例を使用してSecurity Network Configurationファイルを作成します。
<network-security-config> <debug-overrides> <trust-anchors> <!-- Trust user added CAs while debuggable only --> <certificates src="user" /> </trust-anchors> </debug-overrides> </network-security-config>
- ファイルに
network_security_config.xml
という名前を付けます。 - ファイルを
res/xml/network_security_config.xml
にコピーします。 - 次の例を使用して、アプリのマニフェストに
network_security_config.xml
ファイルへの参照を追加します:<?xml version="1.0" encoding="utf-8"?> <manifest ... > <application android:networkSecurityConfig="@xml/network_security_config" ... > ... </application> </manifest>
詳細については、Charles proxy SSL CertificatesのドキュメントのAndroidセクションを参照してください。
ネットワークトラフィックのビューをフィルタリングするためのヒント
次の表は、ネットワークトラフィックのビューをフィルタリングするために使用されるヒントを提供します:
フィルタ | アクション |
---|---|
デバイス別フィルタ |
|
ドメイン別フィルタ |
|
証明書をクリアし、デバイスからPINを削除する
Androidデバイスから証明書をクリアし、PINを削除することはオプションです。
証明書をクリアし、PINを削除する、またはその両方を行うための手順は次のとおりです:
- Androidデバイス上のSettingsアプリケーションを開きます。
- オプションのリストの最後にあるSecurity > Clear Credentialsに移動します。
- Clear Credentialsをクリックします。
- 資格情報をクリアすることを確認します。
- PINを削除するには、Settings > Lock Screen > Screen Lockに移動し、PINを削除します。
詳細については、Charles SSL ProxyingおよびiOSデバイスのCharlesプロキシ構成を参照してください。
最終更新日 :: 2025年July月30日