Я прочитал все темы по этой теме, и инструкции по настройке charles с genymotion все одинаковы:
http://rexstjohn.com/using-genymotion-charles-proxy/
In your Genymotion Android emulator…
Settings -> Wifi -> Press and hold your active network
Select "Modify Network"
Select "Show Advanced Options"
Select "Proxy Settings -> Manual"
Set your Proxy to: 10.0.3.2 (Genymotion’s special code for the local workstation)
Set your Port to: 8888
Press Save
Моя настройка:
- Сервер локального хоста Spring, работающий на моей Mac OS
- Android-приложение, установленное на моем эмуляторе genymotion. Эмулятор genymotion взаимодействует с моим локальным dev-сервером через ip 10.0.3.2 (Как получить доступ к локальному хосту от эмулятора Android от Genymotion?)
Я не уверен, что старые инструкции, но проблема связана с тем, что трафик, который перетекает из моего эмулятора genymotion, записывается в Charles Proxy, но он просто не достигает моего локального сервера. Я не использую SSL-шифрование между моим сервером и моим приложением.
Это мои настройки внутри экрана wifi genymotion:
Вот как выглядит мой Charles Proxy - вы можете видеть, что это "Подключение к удаленному хосту". Он соединяется вечно, а затем, в конечном итоге, дает мне 503 ошибку на моей стороне приложения Android, и ничего не возвращается:
Если я выключу Charles Proxy, приложение будет подключаться к моему серверу localhost без проблем, и все вызовы будут успешно возвращены. Я думаю, что это как-то связано с Чарльзом, который останавливает мое приложение от общения с моим сервером localhost.
В Postman, если я пытаюсь запросить тот же URL-адрес, который пытался выполнить приложение для Android, он работает успешно, и результаты также успешно регистрируются в Charles:
http://localhost:8443/ + my api endpoint **OR** http://localhost.charlesproxy.com:8443/ + my api endpoint
Единственное различие между запросом в Postman и запросом в моем приложении для Android - это то, что мое приложение попадает в этот url 10.0.3.2 вместо этого, потому что я работаю с эмулятором:
http://10.0.3.2:8443/ + my api endpoint
Я также добавил 10.0.3.2 в мои настройки контроля доступа:
Я могу зайти в свой интернет-браузер эмулятора genymotion для Android и найти веб-сайты, такие как www.msn.com, и он вернется успешно, а также зарегистрируйте результаты в Charles, но я не ищу или не готов заплатить 50 долларов США за инструмент для записи моего трафика браузера Android. Мне нужно, чтобы он работал с моим Android-приложением, чтобы я мог отлаживать свое приложение. Я не уверен, как это исправить, знает ли кто-нибудь, если я что-то пропустил?
EDIT:
В случае, если кто-то задается вопросом, я прочитал этот пост по частоте Чарльза о том, что трафик Localhost не появляется в Чарле:
https://www.charlesproxy.com/documentation/faqs/
Но это не то, что я могу изменить 10.0.3.2, используемую Genymotion для http://localhost.charlesproxy.com/, вместо этого я не думаю, что решит мою проблему.