在采用 Android N 或更高版本的设备上为 Google 移动广告 SDK(Beta 版)设置 Charles Proxy

在采用 Android N 或更高版本的设备上,只有在执行以下步骤后广告调用才会在 Charles Proxy 中显示:

  1. 在您的设备上安装 Charles SSL 证书,并设置代理。
  2. 为您的移动应用启用 SSL 代理。

在您的设备上安装 Charles SSL 证书,并设置代理

要将 Charles 用作您移动应用的代理,您需要在计算机上下载和安装 Charles。按照 Charles 的说明在 Android 模拟器或移动设备上安装 SSL 证书。

搭配使用模拟器和代理会更简单,因为模拟器已经连接到运行 Charles 的计算机所连接的 Wi-Fi 网络。搭配使用模拟器和代理时,将代理设置为 localhost (http://127.0.0.1) 和 Charles Proxy 运行所用的端口(可通过以下 Charles 菜单选项找到端口信息:代理 (Proxy) > 代理设置 (Proxy Setting))。

如果您使用的是实体移动设备(手机或平板电脑),您需要使用高级网络设置将移动设备连接到运行 Charles 的计算机所连接的 Wi-Fi 网络。设置实体设备的代理设置时,请使用 Charles 菜单选项帮助 (Help) > 本地 IP 地址(Local IP address) 来获取您计算机的 IP 地址,在您的设备上输入代理地址(您的设备必须连接到计算机所连接的 Wi-Fi 网络才能做到这点)。使用 Charles Proxy 运行所用的端口。

为您的移动应用启用 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 日志中查找广告请求。