Android Emulator'da, uygulama trafiğinde hata ayıklamak veya kurumsal güvenlik duvarının arkasından internete erişmek için proxy kullanabilirsiniz. Emülatör, bu farklı kullanım alanlarını desteklemek için iki ayrı proxy mekanizması sunar: Android Sistem Proxy'si ve Emülatör Proxy'si.
Doğru Proxy'yi Seçme
Bir proxy'yi yapılandırmadan önce iki kullanım alanını anlamak önemlidir. Android System Proxy, uygulama trafiğini incelemek için kullanılırken Emulator Proxy, ağ kısıtlamalarında gezinmek için kullanılır. Bu iki proxy birbirini dışlar. Aynı anda yalnızca biri etkinleştirilebilir.
| Özellik | Android System Proxy | Emulator Proxy |
|---|---|---|
| Birincil Kullanım Alanı | Uygulamada Hata Ayıklama | Güvenlik Duvarını Atlama |
| İşletim Katmanı | Ağ Katmanı | Uygulama Katmanı |
| Yapılandırma | Android Sistem Kablosuz Ayarları Kullanıcı Arayüzü | Emulator Extended Controls UI veya -http-proxy işaretini kullanın. |
| HTTPS Hata Ayıklama | Evet: Charles Proxy gibi araçların, sertifika yüklendiğinde trafiği engellemesine izin verir. |
Hayır: TCP tüneli oluşturarak SSL denetimini engeller. |
| HTTP/HTTPS Olmayan Trafiği İşler |
Hayır: Yalnızca HTTP ve HTTPS trafiğini işler. |
Evet: Tüm TCP trafiğini yönlendirir. |
1. Kullanım Alanı: Android Sistem Proxy'si ile Uygulamada Hata Ayıklama
Uygulamanızın ağ trafiğinde hata ayıklamak için (ör. Charles Proxy gibi bir araçla HTTPS isteklerini incelemek) Android Sistem Proxy'sini kullanmanız gerekir.
Bu proxy, Android işletim sistemindeki uygulama katmanında çalışır. Bu seçenek, hata ayıklama araçlarının trafiği yakalayıp incelemesine olanak tanır ancak bunun için gerekli güvenlik sertifikalarının emüle edilmiş cihaza yüklenmesi gerekir.

Yapılandırma
Android Sistem Proxy'sini iki şekilde yapılandırabilirsiniz:
- Manuel Yapılandırma: Emülatörde Ayarlar > Ağ ve İnternet > Kablosuz'a gidin, ağınızı seçin ve proxy ayarlarını manuel olarak girin.
- Otomatik Yapılandırma: Android Sistem Proxy'sini programatik olarak yapılandırabilirsiniz. Bu işlem, Android Ayarlar uygulamasını açmak ve proxy yapılandırmasını manuel müdahale olmadan uygulamak için UI Automator gibi bir kullanıcı arayüzü otomasyon çerçevesi kullanan bir enstrümantasyon testi oluşturularak yapılır.
2. Kullanım Alanı: Emülatör Proxy ile Kurumsal Güvenlik Duvarlarını Atlama
Birçok kurumsal ağda, internete doğrudan bağlantılar ağ yöneticileri tarafından reddedilir ve bunun yerine belirli bir proxy üzerinden geçmesi gerekir. Bu tür kısıtlanmış bir ağdan harici kaynaklara erişmek için Emulator Proxy'yi kullanmanız gerekir.
Bu mekanizma daha düşük bir ağ düzeyinde çalışır ve emüle edilen cihazın tüm TCP trafiğini belirtilen proxy üzerinden yönlendirir. Bu nedenle, güvenlik duvarı geçişi için idealdir. Sanal cihazdan gelen HTTP isteklerini proxy'ye göndermeden önce şeffaf bir şekilde yeniden yazarak doğru şekilde çalışmasını sağlar.
Yapılandırma
Emülatörü Android Studio'da kullanırken Android Studio menüsündeki (
Settings > Appearance & Behavior > System Settings > HTTP Proxy) ayarları kullanarak proxy yapılandırabilirsiniz. Daha fazla bilgiyi Android Studio dokümanlarındaki Android Studio proxy'sini ayarlama bölümünde bulabilirsiniz.
Emülatörü bağımsız olarak (Android Studio dışında) kullanırken aşağıdaki yöntemlerden birini kullanarak Emülatör Proxy'sini yapılandırabilirsiniz:
Komut satırı işareti: Emülatörü komut satırından
-http-proxy <proxy>işaretiyle başlatın.<proxy>bilgilerihttp://<machineName>:<port>veyahttp://<username>:<password>@<machineName>:<port>biçiminde belirtilebilir.emulator -http-proxy http://<machineName>:<port>veya
emulator @MyAvd -http-proxy http://<username>:<password>@<machineName>:<port>Ortam değişkeni:
http_proxyortam değişkenini proxy ayarlarınızla tanımlayın. Emülatör, başlangıçta bu değişkeni kontrol eder ve tanımlanmışsa değerini otomatik olarak kullanır.Genişletilmiş kontroller: Emülatörün Genişletilmiş kontroller'ini açın, Ayarlar > Proxy'ye gidin ve HTTP proxy yapılandırmanızı manuel olarak girin. Emülatör, cihaz için bu ayarları kaydeder ve yeniden başlatıldığında geri yükler.

Emülatör proxy'si ağ katmanında çalışır. HTTPS trafiğini TCP üzerinden tüneller ancak bu trafik şifre çözülmeden iletilir. Bu da HTTPS incelemesini engeller. Emülatör Proxy'si, UDP yönlendirmesini desteklemez.
Android Studio ile etkileşim
Android Studio'nun, güncellemeleri ve kitaplıkları indirmek için kendi proxy yapılandırma iletişim kutusu vardır. Android Studio'dan bir emülatör başlattığınızda, Emulator Proxy yapılandırmasını doldurmak için IDE'nin proxy ayarlarını bir kez okur. Ancak bu ayarlar Android Sistem Proxy'sini etkilemez.