設定 Charles Proxy

選取平台: Android Android (舊版)

在 Android N 以上版本中,只有在執行下列步驟後,Charles Proxy 才會顯示廣告呼叫:

  1. 更新行動裝置上的 Google Play 服務。
  2. 在行動裝置上啟用聯播網追蹤。
  3. 在裝置上安裝 Charles SSL 憑證,並設定 Proxy。
  4. 為行動應用程式啟用 SSL Proxy。

更新行動裝置上的 Google Play 服務

如果模擬器的側邊選單未顯示「Google Play」部分,可能需要更新 Android Studio。在「虛擬裝置設定」中下載最新系統映像檔,並使用目標中含有 Google Play 的系統映像檔。

使用側邊選單,檢查並將 Google Play 服務更新至最新版本。

如果是實體行動裝置 (手機或平板電腦),您可以搜尋 Google Play,或點選這個連結直接開啟 Google Play。

在行動裝置上啟用聯播網追蹤功能

如要啟用聯播網追蹤,請在裝置上啟用開發人員選項。詳情請參閱「設定裝置端開發人員選項」。

開啟 Google 設定應用程式,然後依序選取「Google」>「廣告」>「啟用廣告的偵錯記錄」。詳情請參閱「聯播網追蹤」。

在裝置上安裝 Charles SSL 憑證,並設定 Proxy

如要將 Charles 做為應用程式的 Proxy,請在電腦上下載並安裝 Charles。

如要將憑證儲存為 .pem 或 .cer 檔案,請依序選取「Help」>「SSL Proxying」>「Save Charles Root Certificate」。如要在裝置上安裝憑證,請按照「Help」>「SSL Proxying」中的提示操作。

如果您搭配 Proxy 使用 Android 模擬器,請將 Proxy 位址設為 http://127.0.0.1。在 Charles 中,依序點選「Proxy」>「Proxy 設定」,然後將通訊埠設為顯示的值。

如果您使用實體裝置,請將裝置連上與電腦相同的 Wi-Fi 網路。如要設定 Proxy,請開啟裝置的進階網路設定。詳情請參閱「在 Pixel 手機上連線到 Wi-Fi 網路」。在 Charles 中,依序選取「Help」>「Local IP Address」,即可查看 IP 位址。在裝置上,輸入 Charles 的 IP 位址和 Charles 通訊埠做為 Proxy。

為行動應用程式啟用 SSL Proxy

如要讓 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 記錄中尋找廣告請求。