Thiết lập proxy Charles

Chọn nền tảng: Android Android (Cũ)

Trên Android N trở lên, 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 thông tin chi tiết, hãy xem bài viết Định cấu hình các tuỳ chọn cho nhà phát triển trên thiết bị.

Mở ứng dụng Cài đặt của 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ị của bạn và thiết lập proxy

Để dùng Charles làm proxy cho ứng dụng của bạn, 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 một thiết bị thực, hãy kết nối thiết bị đó với cùng mạng Wi-Fi mà máy tính của bạn đang kết nối. Để 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ị của bạn, 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.