Thiết lập proxy Charles

Trên Android N trở lên, các lệnh gọi quảng cáo chỉ hiển thị trong Charles proxy khi bạn thực hiện các bước sau:

  1. Cập nhật Dịch vụ Google Play trên thiết bị di động.
  2. Bật tính năng truy vết mạng trên thiết bị di động.
  3. Cài đặt chứng chỉ SSL Charles trên thiết bị và thiết lập proxy.
  4. Bật Proxy SSL cho ứng dụng di động.

Cập nhật Dịch vụ Google Play trên thiết bị di động

Đối với trình mô phỏng, nếu không thấy mục Google Play trong trình đơn bên, bạn có thể cần cập nhật Android Studio. Tải hình ảnh hệ thống mới nhất xuống trong phần Virtual Device Configuration (Cấu hình thiết bị ảo) và sử dụng hình ảnh hệ thống có Google Play trong mục tiêu.

Sử dụng trình đơn bên để kiểm tra và cập nhật Dịch vụ Google Play lên phiên bản mới nhất.

Đối với thiết bị di động thực (điện thoại hoặc máy tính bảng), bạn có thể tìm Google Play hoặc nhấp vào đường liên kết này để mở trực tiếp Google Play.

Bật tính năng truy vết mạng trên thiết bị di động

Để bật tính năng truy vết mạng, hãy bật tuỳ chọn cho nhà phát triển trên thiết bị của bạn. Để biết chi tiết, hãy xem bài viết Định cấu hình tùy chọn cho nhà phát triển trên thiết bị.

Mở ứng dụng Cài đặt Google rồi chọn Google > Quảng cáo > Bật tính năng ghi nhật ký gỡ lỗi cho quảng cáo. Để biết thông tin chi tiết, hãy xem bài viết Truy vết mạng.

Cài đặt chứng chỉ SSL Charles trên thiết bị và thiết lập proxy

Để sử dụng Charles làm proxy cho ứng dụng, hãy tải xuống và cài đặt Charles trên máy tính.

Để lưu chứng chỉ dưới dạng tệp .pem hoặc .cer, hãy chọn Help > SSL Proxying > Save Charles Root Certificate (Trợ giúp > Proxy SSL > Lưu chứng chỉ gốc Charles). Để cài đặt chứng chỉ trên thiết bị, hãy làm theo lời nhắc trong phần Help > SSL Proxying (Trợ giúp > Proxy SSL).

Nếu bạn sử dụng trình mô phỏng Android có proxy, hãy đặt địa chỉ proxy thành http://127.0.0.1. Đặt cổng thành giá trị hiển thị trong Charles từ Proxy > Proxy Settings (Proxy > Cài đặt proxy).

Nếu bạn sử dụng thiết bị thực, hãy kết nối thiết bị đó với cùng một mạng Wi-Fi như máy tính của bạn. Để thiết lập proxy, hãy mở phần cài đặt mạng nâng cao trên thiết bị. Để biết thông tin chi tiết, hãy xem bài viết Kết nối với mạng Wi-Fi trên điện thoại Pixel. Trong Charles, hãy chọn Help > Local IP Address (Trợ giúp > Địa chỉ IP cục bộ) để tìm địa chỉ IP của bạn. Trên thiết bị, hãy nhập địa chỉ IP từ Charles và cổng Charles làm proxy.

Bật proxy SSL cho ứng dụng di động

Để Charles chặn lưu lượng truy cập SSL của ứng dụng di động, hãy khai báo rằng ứng dụng của bạn có thể tin tưởng chứng chỉ SSL. Bạn có thể tin tưởng chứng chỉ do người dùng cài đặt hoặc nhúng chứng chỉ Charles làm tài nguyên thô trong ứng dụng. Ví dụ: bạn có thể lưu chứng chỉ trong tệp res/raw/charles_cert.pem.

Trước tiên, hãy thêm một tệp tài nguyên XML mới cho Cấu hình bảo mật mạng trong tệp res/xml/network_security_config.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>

Tiếp theo, hãy cập nhật tệp AndroidManifest.xml để sử dụng cấu hình bảo mật mạng.

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application ...
                 android:networkSecurityConfig="@xml/network_security_config"
                 ... >
        ...
    </application>
</manifest>

Sau đó, bạn có thể chạy ứng dụng di động và tìm các yêu cầu quảng cáo trong nhật ký Charles.