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

请选择平台 Android Android(旧版)

在采用 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 日志中查找广告请求。