Trên Trình mô phỏng Android, bạn có thể sử dụng một proxy để gỡ lỗi lưu lượng truy cập ứng dụng hoặc để truy cập vào Internet từ phía sau tường lửa của công ty. Trình mô phỏng cung cấp 2 cơ chế proxy riêng biệt để hỗ trợ các trường hợp sử dụng khác nhau này: Android System Proxy và Emulator Proxy.
Chọn proxy phù hợp
Trước khi định cấu hình một proxy, bạn cần hiểu rõ 2 trường hợp sử dụng. Android System Proxy (Proxy hệ thống Android) dùng để kiểm tra lưu lượng truy cập ứng dụng, còn Emulator Proxy (Proxy trình mô phỏng) dùng để điều hướng các quy định hạn chế về mạng. Hai proxy này loại trừ lẫn nhau; mỗi lần bạn chỉ có thể bật một proxy.
| Tính năng | Android System Proxy | Trình mô phỏng proxy |
|---|---|---|
| Trường hợp sử dụng chính | Gỡ lỗi ứng dụng | Vượt tường lửa |
| Lớp hoạt động | Tầng mạng | Lớp ứng dụng |
| Configuration | Giao diện người dùng của phần Cài đặt Wi-Fi trong Hệ thống Android | Giao diện người dùng của các chế độ điều khiển mở rộng của trình mô phỏng hoặc cờ -http-proxy. |
| Gỡ lỗi HTTPS | Có – Cho phép các công cụ như Charles Proxy chặn lưu lượng truy cập khi một chứng chỉ được cài đặt. |
Không – Tạo một đường hầm TCP, ngăn chặn hoạt động kiểm tra SSL. |
| Xử lý lưu lượng truy cập Non-HTTP/HTTPS |
Không – Chủ yếu chỉ xử lý lưu lượng truy cập HTTP và HTTPS. |
Có – Chuyển tiếp tất cả lưu lượng truy cập TCP. |
Trường hợp sử dụng 1: Gỡ lỗi ứng dụng bằng Proxy hệ thống Android
Để gỡ lỗi lưu lượng truy cập mạng của ứng dụng (chẳng hạn như kiểm tra các yêu cầu HTTPS bằng một công cụ như Charles Proxy), bạn nên sử dụng Android System Proxy (Proxy hệ thống Android).
Proxy này hoạt động ở lớp ứng dụng trong hệ điều hành Android. Việc này cho phép các công cụ gỡ lỗi chặn và kiểm tra lưu lượng truy cập, nhưng bạn cần cài đặt các chứng chỉ bảo mật cần thiết trên thiết bị được mô phỏng.

Cấu hình
Bạn có thể định cấu hình Proxy hệ thống Android theo hai cách:
- Cấu hình thủ công: Trong trình mô phỏng, hãy chuyển đến phần Cài đặt > Mạng và Internet > Wi-Fi, chọn mạng của bạn rồi nhập chế độ cài đặt proxy theo cách thủ công.
- Cấu hình tự động: Bạn có thể định cấu hình Proxy hệ thống Android theo phương thức lập trình. Việc này được thực hiện bằng cách tạo một kiểm thử đo lường sử dụng khung tự động hoá giao diện người dùng, chẳng hạn như UI Automator, để mở ứng dụng Cài đặt Android và áp dụng cấu hình proxy mà không cần can thiệp thủ công.
Trường hợp sử dụng 2: Bỏ qua tường lửa của công ty bằng trình mô phỏng proxy
Trên nhiều mạng công ty, quản trị viên mạng từ chối kết nối trực tiếp với Internet và thay vào đó, kết nối phải đi qua một proxy cụ thể. Để truy cập vào các tài nguyên bên ngoài từ bên trong mạng bị hạn chế như vậy, bạn nên sử dụng Trình mô phỏng proxy.
Cơ chế này hoạt động ở cấp độ mạng thấp hơn và định tuyến tất cả lưu lượng truy cập TCP của thiết bị được mô phỏng thông qua proxy đã chỉ định, khiến cơ chế này trở nên lý tưởng cho việc truyền tải tường lửa. Trình mô phỏng ghi lại một cách rõ ràng các yêu cầu HTTP từ thiết bị ảo trước khi gửi các yêu cầu đó đến proxy, cho phép các yêu cầu hoạt động đúng cách.
Cấu hình
Khi sử dụng trình mô phỏng trong Android Studio, bạn có thể định cấu hình một proxy bằng các chế độ cài đặt trong Trình đơn Android Studio (Settings > Appearance & Behavior > System Settings > HTTP Proxy). Bạn có thể xem thêm thông tin tại phần Thiết lập proxy trong Android Studio trong tài liệu của Android Studio.
Khi sử dụng trình mô phỏng ở chế độ độc lập (bên ngoài Android Studio), bạn có thể định cấu hình Proxy trình mô phỏng bằng một trong những phương thức sau:
Cờ dòng lệnh: Chạy trình mô phỏng từ dòng lệnh bằng cờ
-http-proxy <proxy>. Bạn có thể chỉ định thông tin<proxy>ở định dạnghttp://<machineName>:<port>hoặchttp://<username>:<password>@<machineName>:<port>.emulator -http-proxy http://<machineName>:<port>hoặc
emulator @MyAvd -http-proxy http://<username>:<password>@<machineName>:<port>Biến môi trường: Xác định biến môi trường
http_proxybằng chế độ cài đặt proxy của bạn. Trình mô phỏng sẽ kiểm tra biến này khi khởi động và tự động sử dụng giá trị của biến nếu đã xác định.Extended Controls (Chế độ điều khiển mở rộng): Mở Extended controls (Chế độ điều khiển mở rộng) của trình mô phỏng, chuyển đến phần Settings (Cài đặt) > Proxy rồi nhập cấu hình proxy HTTP theo cách thủ công. Trình mô phỏng sẽ lưu các chế độ cài đặt này cho thiết bị và khôi phục chúng khi khởi động lại.

Trình mô phỏng proxy hoạt động ở lớp mạng. Nó chuyển lưu lượng truy cập HTTPS qua TCP, nhưng lưu lượng truy cập này được chuyển tiếp mà không cần giải mã, điều này ngăn chặn việc kiểm tra HTTPS. Trình mô phỏng proxy không hỗ trợ lệnh chuyển hướng UDP.
Tương tác với Android Studio
Android Studio có hộp thoại cấu hình proxy riêng để tải các bản cập nhật và thư viện xuống. Khi bạn khởi chạy một trình mô phỏng từ Android Studio, trình mô phỏng đó sẽ đọc chế độ cài đặt proxy của IDE một lần để điền sẵn cấu hình Proxy trình mô phỏng. Tuy nhiên, các chế độ cài đặt này không ảnh hưởng đến Android System Proxy.