Android N 以降では、次の手順を実行した場合にのみ、Charles プロキシで広告呼び出しを確認できます。
- デバイスに Charles SSL 証明書をインストールし、プロキシを設定します。
- モバイルアプリの SSL プロキシを有効にします。
デバイスに Charles SSL 証明書をインストールし、プロキシを設定する
モバイルアプリのプロキシとして Charles を使用するには、パソコンに Charles をダウンロードしてインストールする必要があります。Charles の手順に沿って、Android エミュレータまたはモバイル デバイスに SSL 証明書をインストールします。

エミュレータは Charles を実行しているパソコンと同じ Wi-Fi ネットワークにすでに接続されているため、プロキシでエミュレータを使用する方が簡単です。エミュレータでプロキシを使用する場合は、プロキシを localhost(http://127.0.0.1)と Charles プロキシが実行されているポート(Charles のメニュー オプション [Proxy](プロキシ)> [Proxy Settings](プロキシ設定)で確認できます)に設定します。
物理的なモバイル デバイス(スマートフォンまたはタブレット)を使用している場合は、高度なネットワーク設定を使用して、Charles を実行しているパソコンと同じ Wi-Fi ネットワークにモバイル デバイスを接続する必要があります。物理デバイスのプロキシ設定を行う際は、Charles のメニュー オプション [Help > Local IP address] を使用してパソコンの IP アドレスを取得し、実機のプロキシ アドレスとして入力します(この操作を行うには、同じ Wi-Fi ネットワークに接続している必要があります)。Charles プロキシが実行されているポートを使用します。
モバイルアプリの SSL プロキシを有効にする
Charles がモバイルアプリの SSL トラフィックをインターセプトするには、アプリがユーザー提供の SSL 証明書を信頼できることを宣言する必要があります。
まず、ネットワーク セキュリティ構成用の新しい XML リソース ファイルを
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>

次に、ネットワーク セキュリティ構成を使用するように AndroidManifest.xml ファイルを更新します。
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application ...
android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>

その後、モバイルアプリを起動して、Charles ログで広告リクエストを探します。