在 Android N 以上版本中,只有執行下列步驟時,Charles Proxy 才會顯示廣告呼叫:
- 在裝置上安裝 Charles SSL 憑證,並設定 Proxy。
- 為行動應用程式啟用 SSL Proxy。
在裝置上安裝 Charles SSL 憑證,並設定 Proxy
如要將 Charles 設為行動應用程式的 Proxy,請先在電腦上安裝 Charles。按照 Charles 的說明,在 Android 模擬器或行動裝置上安裝 SSL 憑證。
透過 Proxy 使用模擬器較為簡單,因為模擬器已連上與執行 Charles 的電腦相同的 Wi-Fi 網路。搭配 Proxy 使用模擬器時,請將 Proxy 設為 localhost (http://127.0.0.1
) 和 Charles Proxy 執行的通訊埠 (位於 Charles 選單選項「Proxy」>「Proxy 設定」)。
如果使用實體行動裝置 (手機或平板電腦),請使用進階網路設定,將行動裝置連上與執行 Charles 的電腦相同的 Wi-Fi 網路。設定實體裝置的 Proxy 設定時,請使用 Charles 的「Help」>「Local IP address」選單選項取得電腦的 IP 位址,然後在裝置上輸入 Proxy 位址 (您必須連上相同 Wi-Fi 網路,這項操作才能正常運作)。使用 Charles Proxy 執行的通訊埠。
為行動應用程式啟用 SSL Proxy
如要讓 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 記錄中尋找廣告請求。