在采用 Android N 或更高版本的设备上为 Google 移动广告 SDK 设置 Charles Proxy
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
在采用 Android N 或更高版本的设备上,只有在执行以下步骤后广告调用才会在 Charles Proxy 中显示:
- 在移动设备上更新 Google Play 服务。
- 在移动设备上启用网络跟踪功能。
- 在您的设备上安装 Charles SSL 证书,并设置代理。
- 为您的移动应用启用 SSL 代理。
在移动设备上更新 Google Play 服务
对于模拟器,如果您未在侧边菜单中看到 Google Play 部分,则可能需要更新 Android Studio,并在虚拟设备配置中下载最新的系统映像。请确保在模拟器的目标中使用含有 Google Play 的系统映像。

使用侧边菜单查看 Google Play 服务并将其更新到最新版本。Google Play 服务的最低可用版本是 14.5.74
。

对于实体移动设备(手机或平板电脑),您可以搜索 Google Play 或点击此链接以直接打开 Google Play。
在移动设备上启用网络跟踪功能
要启用网络跟踪功能,您需要为您的设备启用开发者选项。启动“Google 设置”应用,然后依次选择 Google > 广告 > 启用广告调试日志功能。我们为 AdMob 和 Google Ad Manager 发布商提供了更详细的指南。

在您的设备上安装 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 日志中查找广告请求。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-31。
[null,null,["最后更新时间 (UTC):2025-08-31。"],[[["\u003cp\u003eOn Android N or higher, specific steps are required to view ad calls in Charles proxy, including updating Google Play services, enabling network tracing, installing the Charles SSL certificate, and configuring SSL proxy settings for your app.\u003c/p\u003e\n"],["\u003cp\u003eFor successful network tracing, ensure your Google Play services version is at least 14.5.74 and enable debug logging for ads within the Google Settings app.\u003c/p\u003e\n"],["\u003cp\u003eInstalling the Charles SSL certificate requires downloading Charles on your computer and following the instructions provided to install the certificate on your emulator or mobile device.\u003c/p\u003e\n"],["\u003cp\u003eWhen using Charles proxy, ensure your mobile device and computer are on the same Wi-Fi network and correctly configure proxy settings using either localhost for emulators or your computer's local IP address for physical devices.\u003c/p\u003e\n"],["\u003cp\u003eTo enable Charles to intercept SSL traffic from your mobile app, you need to declare trust for user-provided SSL certificates by adding a network security configuration XML file and updating your app's AndroidManifest.xml file.\u003c/p\u003e\n"]]],[],null,["On Android N or higher, ad calls are visible in Charles proxy only when the\nfollowing steps are performed:\n\n1. Update the Google Play services on the mobile device.\n2. Enable Network Tracing on the mobile device.\n3. Install Charles SSL certificate on your device, and set up proxy.\n4. Enable SSL Proxy for your mobile app.\n\nUpdate the Google Play services on the mobile device\n\nFor an emulator, if you don't see the Google Play section in the side menu,\nyou may need to update the Android Studio and download the latest system\nimages in the **Virtual Device Configuration**. Make sure to use a system\nimage with Google Play in its target.\n\nUse the side menu to check and update Google Play services to the latest\nversion. The minimum working version of the Google Play services is\n`14.5.74`.\n\nFor a physical mobile device (phone or tablet), you can search for Google\nPlay or follow this\n[link](//play.google.com/store/apps/details?id=com.google.android.gms)\nto open Google Play directly.\n\nEnable Network Tracing on the mobile device\n\nTo enable network tracing, you will need to [enable developer\noptions](//developer.android.com/studio/debug/dev-options) for your\ndevice. Launch the Google Settings app and select **Google \\\u003e Ads \\\u003e Enable\ndebug logging for ads** . A more detailed\n[guide](/admob/android/network-tracing) is\navailable for both AdMob and Google Ad Manager publishers.\n\nInstall Charles SSL certificate on your device, and set up proxy\n\nTo use Charles as a proxy for your mobile app, you will need to download and\n[install](//www.charlesproxy.com/documentation/installation/) Charles\non a computer. Follow Charles' instructions to install an SSL certificate on\nthe Android emulator or mobile device.\n\nIt is simpler to [use the emulator with a\nproxy](//developer.android.com/studio/run/emulator-networking#proxy) because the\nemulator is already connected to the same Wi-Fi network with the computer\nrunning Charles. When using the emulator with a proxy, set the proxy to\nlocalhost (`http://127.0.0.1`) and the port that Charles proxy is running on\n(found in Charles menu option **Proxy \\\u003e Proxy Settings**).\n\nIf you're using a physical mobile device (phone or tablet), you'll need to\nconnect the mobile device to the same Wi-Fi network with your computer\nrunning Charles using the [advanced network\nsettings](//support.google.com/pixelphone/answer/2819519). When setting up the\nproxy settings for your physical device, use the Charles menu option **Help \\\u003e\nLocal IP address** to get the IP address of your computer, to enter for the proxy\naddress on your device (you must be on the same Wi-Fi network for this to work).\nUse the port that Charles proxy is running on.\n\nEnable SSL Proxy for your mobile app\n\nFor Charles to intercept your mobile app's SSL traffic, you will need to declare\nthat your app can trust a user-provided SSL certificate.\n\nFirst, you will need to add a new XML resource file for [Network Security\nConfiguration](//developer.android.com/training/articles/security-config) under \n\n \u003cnetwork-security-config\u003e\n \u003cdebug-overrides\u003e\n \u003ctrust-anchors\u003e\n \u003c!-- Trust user added CAs while debuggable only --\u003e\n \u003ccertificates src=\"user\" /\u003e\n \u003c/trust-anchors\u003e\n \u003c/debug-overrides\u003e\n \u003c/network-security-config\u003e\n\nNext, update the `AndroidManifest.xml` file to use the network security\nconfiguration. \n\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003cmanifest ... \u003e\n \u003capplication ...\n android:networkSecurityConfig=\"@xml/network_security_config\"\n ... \u003e\n ...\n \u003c/application\u003e\n \u003c/manifest\u003e\n\nAfter that, you can launch the mobile app and look for ad requests in the\nCharles log."]]