В эмуляторе Android можно использовать прокси-сервер для отладки трафика приложений или для доступа к интернету из-за корпоративного брандмауэра. Эмулятор предлагает два различных механизма прокси для поддержки этих различных сценариев использования: системный прокси Android и прокси эмулятора.
Выбор подходящего прокси-сервера
Перед настройкой прокси важно понимать два варианта его использования. Системный прокси Android предназначен для проверки трафика приложений, а прокси эмулятора — для обхода сетевых ограничений. Эти два прокси являются взаимоисключающими; одновременно можно включить только один.
| Особенность | Системный прокси Android | Прокси-эмулятор |
|---|---|---|
| Основной вариант использования | Отладка приложений | Обход брандмауэра |
| Операционный уровень | Сетевой уровень | Уровень приложения |
| Конфигурация | Интерфейс настроек Wi-Fi в системе Android | Расширенные элементы управления эмулятора (UI) или -Флаг -http-proxy . |
| Отладка HTTPS | Да — позволяет использовать такие инструменты, как Charles Proxy. перехват трафика при наличии сертификата установлено. | Нет — создает TCP-туннель, предотвращая Проверка SSL. |
| Обрабатывает протоколы, отличные от HTTP/HTTPS. Трафик | Нет — в основном обрабатывает только HTTP и HTTPS-трафик. | Да — перенаправляет весь TCP-трафик. |
Пример использования 1: Отладка приложения с помощью системного прокси Android.
Для отладки сетевого трафика вашего приложения, например, для проверки HTTPS-запросов с помощью такого инструмента, как Charles Proxy, следует использовать Android System Proxy .
Этот прокси-сервер работает на уровне приложений в операционной системе Android. Он позволяет инструментам отладки перехватывать и анализировать трафик, но для этого требуется установка необходимых сертификатов безопасности на эмулируемом устройстве.

Конфигурация
Настроить системный прокси-сервер Android можно двумя способами:
- Ручная настройка : В эмуляторе перейдите в Настройки > Сеть и Интернет > Wi-Fi , выберите свою сеть и вручную введите параметры прокси.
- Автоматическая настройка : Вы можете программно настроить системный прокси-сервер Android. Это делается путем создания инструментального теста, использующего фреймворк автоматизации пользовательского интерфейса, например UI Automator , для открытия приложения «Настройки» Android и применения конфигурации прокси-сервера без ручного вмешательства.
Вариант использования 2: Обход корпоративных брандмауэров с помощью эмулятора-прокси
Во многих корпоративных сетях прямые подключения к интернету отклоняются сетевыми администраторами и должны проходить через специальный прокси-сервер. Для доступа к внешним ресурсам из такой ограниченной сети следует использовать эмулятор прокси .
Этот механизм работает на более низком сетевом уровне и направляет весь TCP-трафик эмулируемого устройства через указанный прокси-сервер, что делает его идеальным для обхода брандмауэра. Он прозрачно переписывает HTTP-запросы от виртуального устройства перед отправкой их на прокси-сервер, обеспечивая их корректную работу.
Конфигурация
При использовании эмулятора в Android Studio вы можете настроить прокси-сервер с помощью параметров в меню Android Studio ( Settings > Appearance & Behavior > System Settings > HTTP Proxy ). Более подробную информацию можно найти в разделе «Настройка прокси-сервера Android Studio» в документации Android Studio.
При использовании эмулятора в автономном режиме ( вне Android Studio ) вы можете настроить прокси-сервер эмулятора одним из следующих способов:
Флаг командной строки : Запустите эмулятор из командной строки с флагом
-http-proxy <proxy>. Информация<proxy>может быть указана в форматеhttp://<machineName>:<port>илиhttp://<username>:<password>@<machineName>:<port>.emulator -http-proxy http://<machineName>:<port>или
emulator @MyAvd -http-proxy http://<username>:<password>@<machineName>:<port>Переменная среды : Определите переменную среды
http_proxyс настройками прокси-сервера. Эмулятор проверяет наличие этой переменной при запуске и автоматически использует её значение, если она определена.Расширенные настройки : Откройте расширенные настройки эмулятора, перейдите в «Настройки» > «Прокси» и вручную введите конфигурацию HTTP-прокси. Эмулятор сохранит эти настройки для устройства и восстановит их при перезагрузке.

Эмулятор-прокси работает на сетевом уровне. Он туннелирует HTTPS-трафик через TCP, но этот трафик пересылается без расшифровки, что препятствует проверке HTTPS-трафика. Эмулятор-прокси не поддерживает перенаправление UDP.
Взаимодействие с Android Studio
В Android Studio есть собственное диалоговое окно настройки прокси для загрузки обновлений и библиотек. При запуске эмулятора из Android Studio он один раз считывает настройки прокси IDE для заполнения конфигурации прокси эмулятора . Однако эти настройки не влияют на системный прокси Android .