Как настроить Charles Proxy для Android Studio Emulator

Roman Kryvolapov
2 min readMar 13, 2023

Всем привет!

Эта инструкция протестирована в начале 2023 года с Windows 10, эмулятором c API 33 и последней на этот момент версией Android Studio (2022.1.1) и Charles Proxy (4.6.3). Написал ее, так как не нашел актуальной инструкции для последних версий эмулятора, так как в них больше нет вкладки Proxy в настройках, а в Charles Proxy также немного переделали настройку. Итак:

> Запускаем Charles Proxy

> Снимаем галочку Proxy -> Windows (MasOS) Proxy

> Смотрим и запоминаем локальный адрес компьютера в сети, он находится в Help -> Local IP Address, или это же можно посмотреть в настройках сети

> Заходим в меню Proxy -> Proxy Settings… и смотрим, чтобы был указан порт 8888

> В Android Studio смотрим расположение Android SDK, для этого в настройках в поиске вводим “sdk”, открываем вкладку “Android SDK” и копируем путь из “Android SDK Location:”

> Открываем командную строку, можно перейти в папку c SDK, для этого вводим

“cd C:\Users\<имя пользователя>\AppData\Local\Android\Sdk\platform-tools”

где к пути соответственно добавился “\platform-tools”, в это папке находится adb.exe, который и нужен, а можно сразу ввести команду с путем к adb.exe, выглядеть это будет так

C:\Users\<имя пользователя>\AppData\Local\Android\Sdk\platform-tools\adb.exe shell settings put global http_proxy <локальный ip адрес>:8888

также как вариант, можно открыть папку вручную и перетащить adb.exe в командную строку и добавить все, чего не хватает.

> В Charles Proxy должен появиться запрос на подключение, нужно его подтвердить

> Во вкладке сессии должны появиться в том числе запросы из эмулятора. Чтобы отфильтровать только нужное доменное имя, нажимам правой кнопкой на него и выбираем в выпадающем меню Focus

> Открываем Chrome на эмуляторе и переходим по адресу http://chls.pro/ssl ,скачиваем сертификат

> Заходим в настройки на эмуляторе, вводим в поиске certificate, открываем вкладку Install certificate(может быть вложена в другие пункты меню, в зависимости от версии), устанавливаем скачанный сертификат

> Переходим в Trusted credentials и убеждаемся, что во вкладке User появится сертификат Charles Proxy

> В Charles Proxy выбираем нужный адрес, нажимаем правой кнопкой и выбираем Copy URL, заходим в Proxy -> SSL Proxying settings… -> Include -> Add и добавляем скопированный url, порт писать не обязательно, после очистки истории для указанного адреса, должны начать показываться запросы в виде дерева rest адресов

> Чтобы модифицировать или перезаписать запросы-ответы, есть 3 разных способа:

Включаем Tools -> Rewrite…, добавляем адрес и то, на что мы ходим переписать в поле body, выбрав соответствующий способ, включаем параметр request и в поле value пишем нужный ответ

можно использовать перезапись в режиме текущего времени, используя для этого Brakepoints

можно использовать Map Local и подставляем нужный файл ответа

> Не стоит забывать, если на роутере установлен динамический IPадрес для компьютера, при следующем подключении IPадрес может быть другим

--

--