在 Android N 或更高版本中,只有在执行以下步骤后,才能在 Charles 代理中看到广告请求:
- 在移动设备上更新 Google Play 服务。
- 在移动设备上启用网络跟踪。
- 在设备上安装 Charles SSL 证书,并设置代理。
- 为移动应用启用 SSL 代理。
在移动设备上更新 Google Play 服务
对于模拟器,如果您在侧边菜单中没有看到 Google Play 部分,可能需要更新 Android Studio。在 虚拟设备配置中下载最新的系统映像,并使用目标中包含 Google Play 的系统映像。

使用侧边菜单检查 Google Play 服务并将其更新到最新版本。

对于实体移动设备(手机或平板电脑),您可以搜索 Google Play 或点击此 链接 直接打开 Google Play。
在移动设备上启用网络跟踪
如需开启网络跟踪,请在设备上启用开发者选项。如需了解详情,请参阅 配置设备上的开发者选项。
打开 Google 设置应用,然后依次选择 Google > 广告 > 为广告启用调试日志记录 。如需了解详情,请参阅 网络跟踪。

在设备上安装 Charles SSL 证书,并设置代理
如需将 Charles 用作应用的代理,请在计算机上下载并 安装 Charles。
如需将证书另存为 .pem 或 .cer 文件,请依次选择 Help > SSL Proxying > Save Charles 根证书 。如需在设备上安装证书,请按照 Help > SSL Proxying 中的提示操作。

如果您将
Android 模拟器与代理一起使用,
请将代理地址设置为 http://127.0.0.1。将端口设置为 Charles 中显示的 Proxy > Proxy Settings 中的值。
如果您使用的是实体设备,请将该设备连接到与计算机相同的 Wi-Fi 网络。如需设置代理,请打开设备的“高级网络设置”。如需了解详情,请参阅 在 Pixel 手机上连接到 WLAN 网络。 在 Charles 中,依次选择 Help > Local IP Address 以查找您的 IP 地址。在设备上,输入 Charles 中的 IP 地址和 Charles 端口作为代理。
为移动应用启用 SSL 代理
如需让 Charles 拦截移动应用的 SSL 流量,请声明您的应用可以信任 SSL 证书。您可以信任用户安装的证书,也可以将 Charles 证书作为原始资源嵌入到应用中。例如,您可以将证书保存在 res/raw/charles_cert.pem 文件中。
首先,在 res/xml/network_security_config.xml 文件中为
网络安全配置
添加新的 XML 资源文件:
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust Charles SSL certificate stored in res/raw -->
<certificates src="@raw/charles_cert" />
<!-- 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 日志中查找广告请求。