在 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 证书。
首先,您需要在 Network Security Configuration 下添加新的 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 日志中查找广告请求。