Как настроить эмулятор Android Lollipop с прокси-сервером Charles?
я следовал инструкциям из других вопросов, таких как Как настроить SSL-сертификаты с помощью Charles Web Proxy и последнего эмулятора Android в Windows? (Я на MAC, хотя) и SSL Прокси / Чарльз и Android проблемы и я могу использовать Charles Proxy для анализа пакетов эмуляторов Android вплоть до Kitkat.
теперь я пытаюсь сделать то же самое для эмуляторов Lollipop. Однако, когда я повторил те же шаги, что и раньше успешно настройте эмуляторы Kitkat, Чарльз ничего не показывает! Когда я пытаюсь подключиться к интернету с помощью браузера эмулятора, он дает следующую ошибку:
есть ли какие-либо специальные шаги, необходимые для эмулятора 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 исправил это.
Если вы не хотите возиться с командной строкой, вы можете сделать это из эмулятора, он требует немного больше настройки, но работает хорошо:
- Открыть Настройки > Дополнительно > Сотовые Сети > Имена Точек Доступа
- выберите основной APN и введите прокси как 10.0.2.2:8888 (указывает на ваш компьютер localhost) вы можете использовать другой IP в сети, Если вы делаете это с фактическим устройством или на локальном ферма устройств.
- перейти к charlesproxy.com/getssl на Chrome
- сертификат SSL будет скачать
при открытии он попросит вас настроить pin-код или подтвердить его, если он уже установлен
имя сертификат
- наслаждайтесь проксированием (вы должны включить 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) и выполните эту.
вуаля! Теперь эмулятор запускается в режиме прокси-сети.
/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.