Как настроить эмулятор Android Lollipop с прокси-сервером Charles?

я следовал инструкциям из других вопросов, таких как Как настроить SSL-сертификаты с помощью Charles Web Proxy и последнего эмулятора Android в Windows? (Я на MAC, хотя) и SSL Прокси / Чарльз и Android проблемы и я могу использовать Charles Proxy для анализа пакетов эмуляторов Android вплоть до Kitkat.

теперь я пытаюсь сделать то же самое для эмуляторов Lollipop. Однако, когда я повторил те же шаги, что и раньше успешно настройте эмуляторы Kitkat, Чарльз ничего не показывает! Когда я пытаюсь подключиться к интернету с помощью браузера эмулятора, он дает следующую ошибку: enter image description here

есть ли какие-либо специальные шаги, необходимые для эмулятора Android Lollipop на Mac OS X, чтобы включить пакет sniffng?

спасибо заранее!

5 ответов


У меня было то же самое, и, наконец, найти выход: следуйте инструкции по ссылке, которую вы упомянули: Как настроить SSL-сертификаты с помощью Charles Web Proxy и последнего эмулятора Android в Windows?

затем от Чарльза я вошел в меню "Прокси" и включил "Mac OS X proxy". Потом вдруг что-то произошло. Даже после того, как я выключил "Mac OS X proxy"...

ps: настройка прокси через мобильные настройки на эмуляторе не работала; настройка прокси-сервера должна выполняться через командную строку (команда эмулятора в sdk / tools и должна выполняться примерно так:./emulator -avd Nexus_4_API_21 -http-proxy http://<your-ip-as-in-charles-help-menu>:8888). Я также пробовал некоторые прокси-приложения, такие как proximator, без каких-либо успехов. Также у меня есть проблемы, и перезапуск charles исправил это.


Если вы не хотите возиться с командной строкой, вы можете сделать это из эмулятора, он требует немного больше настройки, но работает хорошо:

  1. Открыть Настройки > Дополнительно > Сотовые Сети > Имена Точек Доступа

enter image description here

  1. выберите основной APN и введите прокси как 10.0.2.2:8888 (указывает на ваш компьютер localhost) вы можете использовать другой IP в сети, Если вы делаете это с фактическим устройством или на локальном ферма устройств.

enter image description here

  1. перейти к charlesproxy.com/getssl на Chrome

enter image description here

  1. сертификат SSL будет скачать

enter image description here

  1. при открытии он попросит вас настроить pin-код или подтвердить его, если он уже установлен

  2. имя сертификат

enter image description here

  1. наслаждайтесь проксированием (вы должны включить SSL-проксирование для своего домена на Charles, чтобы увидеть запросы)

Примечание: я протестировал это с помощью эмулятора API 24 и, похоже, работает, однако он должен работать с другими версиями.

примечание 2: начиная с Android Studio 3.0 Чарльз больше не будет нужен при использовании API > 21 по большей части, так как это происходит: https://developer.android.com/studio/profile/network-profiler.html


это может быть немного утомительно на Mac во время отладки на эмуляторе Android.

выполните действия:

1) откройте терминал и перейдите в tools папка в пути SDK.
2) перетащите файл с именем emulator на терминале (это дает вам путь к исполняемому файлу).
Теперь ваш эмулятор должен прочитать путь следующим образом

/ пользователи / your_pc_name/android_sdk/инструменты / эмулятор-avd Nexus_6P_API_23-http-proxy http://x.x.x.x:8888

здесь xxxx-это IP-адрес, который вы можете найти в меню справки Charles.
3) и выполните эту.

вуаля! Теперь эмулятор запускается в режиме прокси-сети.


теперь есть настройка в эмуляторе Android enter image description here


/Users/`whoami`/Library/Android/sdk/tools/emulator -avd `android list avd | grep Name -m 1 | cut -c 10-99` -http-proxy `ipconfig getifaddr en0`:8888

Это должно работать в большинстве Mac.