Di Android Emulator, Anda dapat menggunakan proxy untuk men-debug traffic aplikasi atau untuk mengakses internet dari balik firewall perusahaan. Emulator menawarkan dua mekanisme proxy yang berbeda untuk mendukung berbagai kasus penggunaan ini: Proxy Sistem Android dan Proxy Emulator.
Memilih Proxy yang Tepat
Sebelum mengonfigurasi proxy, penting untuk memahami dua kasus penggunaan. Proxy Sistem Android digunakan untuk memeriksa traffic aplikasi, sedangkan Proxy Emulator digunakan untuk mengatasi batasan jaringan. Kedua proxy ini bertolak belakang; Anda hanya dapat mengaktifkan salah satunya dalam satu waktu.
| Fitur | Proxy Sistem Android | Proxy Emulator |
|---|---|---|
| Kasus Penggunaan Utama | Proses Debug Aplikasi | Firewall Bypass |
| Lapisan Operasi | Lapisan Jaringan | Lapisan Aplikasi |
| Konfigurasi | UI Setelan Wi-Fi Sistem Android | UI Kontrol yang Diperluas Emulator atau flag-http-proxy. |
| Debug HTTPS | Ya - Mengizinkan alat seperti Charles Proxy untuk mencegat traffic saat sertifikat diinstal. |
Tidak - Membuat tunnel TCP, sehingga mencegah pemeriksaan SSL . |
| Menangani Traffic Non-HTTP/HTTPS |
Tidak - Terutama hanya menangani traffic HTTP dan HTTPS. |
Ya - Meneruskan semua traffic TCP. |
Kasus Penggunaan 1: Proses Debugging Aplikasi dengan Proxy Sistem Android
Untuk men-debug traffic jaringan aplikasi Anda, seperti memeriksa permintaan HTTPS dengan alat seperti Charles Proxy, Anda harus menggunakan Android System Proxy.
Proxy ini beroperasi di lapisan aplikasi dalam Android OS. Hal ini memungkinkan alat proses debug mencegat dan memeriksa traffic, tetapi memerlukan penginstalan sertifikat keamanan yang diperlukan di perangkat yang diemulasi.

Konfigurasi
Anda dapat mengonfigurasi Proxy Sistem Android dengan dua cara:
- Konfigurasi Manual: Di emulator, buka Settings > Network & Internet > Wi-Fi, pilih jaringan Anda, lalu masukkan setelan proxy secara manual.
- Konfigurasi Otomatis: Anda dapat mengonfigurasi Proxy Sistem Android secara terprogram. Hal ini dilakukan dengan membuat pengujian instrumentasi yang menggunakan framework otomatisasi UI, seperti UI Automator, untuk membuka aplikasi Setelan Android dan menerapkan konfigurasi proxy tanpa intervensi manual.
Kasus Penggunaan 2: Melewati Firewall Perusahaan dengan Proxy Emulator
Di berbagai jaringan perusahaan, koneksi langsung ke internet ditolak oleh administrator jaringan dan harus melewati proxy tertentu. Untuk mengakses resource eksternal dari dalam jaringan yang dibatasi tersebut, Anda harus menggunakan Proxy Emulator.
Mekanisme ini beroperasi di tingkat jaringan yang lebih rendah dan merutekan semua traffic TCP perangkat yang diemulasi melalui proxy yang ditentukan, sehingga ideal untuk traversal firewall. Emulator secara transparan menulis ulang permintaan HTTP dari perangkat virtual sebelum mengirimkannya ke proxy, sehingga permintaan tersebut dapat berfungsi dengan benar.
Konfigurasi
Saat menggunakan emulator dalam Android Studio, Anda dapat mengonfigurasi proxy dengan setelan di Menu Android Studio (
Settings > Appearance & Behavior > System Settings > HTTP Proxy). Anda dapat menemukan detail selengkapnya di
Menyiapkan proxy Android Studio
dalam dokumentasi Android Studio.
Saat menggunakan emulator sebagai aplikasi mandiri (di luar Android Studio), Anda dapat mengonfigurasi Proxy Emulator menggunakan salah satu metode berikut:
Flag Command Line: Luncurkan emulator dari command line dengan flag
-http-proxy <proxy>. Informasi<proxy>dapat ditentukan dalam formathttp://<machineName>:<port>atauhttp://<username>:<password>@<machineName>:<port>.emulator -http-proxy http://<machineName>:<port>atau
emulator @MyAvd -http-proxy http://<username>:<password>@<machineName>:<port>Variabel Lingkungan: Tentukan variabel lingkungan
http_proxydengan setelan proxy Anda. Emulator akan memeriksa variabel ini saat memulai dan menggunakan nilainya secara otomatis jika ditentukan.Extended Controls: Buka Extended controls emulator, lihat Settings > Proxy, lalu masukkan konfigurasi proxy HTTP Anda secara manual. Emulator menyimpan setelan ini untuk perangkat dan memulihkannya saat dimulai ulang.

Proxy Emulator beroperasi di lapisan jaringan. Fitur ini membuat tunnel traffic HTTPS melalui TCP, tetapi traffic ini diteruskan tanpa dekripsi, yang mencegah pemeriksaan HTTPS. Proxy Emulator tidak mendukung pengalihan UDP.
Interaksi dengan Android Studio
Android Studio memiliki dialog konfigurasi proxy sendiri untuk mendownload update dan library. Saat Anda meluncurkan emulator dari Android Studio, emulator akan membaca setelan proxy IDE satu kali untuk mengisi konfigurasi Emulator Proxy. Namun, setelan ini tidak memengaruhi Proxy Sistem Android.