在 Android N 或更高版本中,只有在执行以下步骤后,广告请求才会显示在 Charles 代理中:
- 在设备上安装 Charles SSL 证书,并设置代理。
- 为移动应用启用 SSL 代理。
在设备上安装 Charles SSL 证书,并设置代理
如需将 Charles 用作应用的代理,请在计算机上下载并 安装 Charles。
如需将证书另存为 .pem 或 .cer 文件,请依次选择 Help > SSL Proxying > Save Charles 根证书 。如需在设备上安装证书,请按照 Help > SSL Proxying 中的提示操作。

如果您将
Android 模拟器与代理一起使用,
请将代理地址设置为 http://127.0.0.1。将端口设置为 Charles 中显示的 Proxy > 代理设置 值。
如果您使用的是实体设备,请将该设备连接到与计算机相同的 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 日志中查找广告请求。