Как настроить эмулятор Android Lollipop с помощью Charles Proxy?
Я выполнял инструкции из других вопросов, таких как Как настроить 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?
Спасибо заранее!
Ответы
Ответ 1
У меня было то же самое и, наконец, найти выход: следуйте инструкциям в упомянутой ссылке: Как настроить SSL-сертификаты с помощью Charles Web Proxy и новейшего эмулятора Android в Windows?
Затем из charles я зашел в меню "Proxy" и включил "Mac OS X proxy". Затем неожиданно раздался материал. Даже после того, как я отключил "прокси-сервер Mac OS X"...
ps: настройка прокси-сервера через настройки мобильного устройства на эмуляторе не работала; настройка прокси-сервера должна выполняться через командную строку (команда эмулятора в sdk/tools и должна запускаться примерно так: ./emulator -avd Nexus_4_API_21 -http-proxy http://<your-ip-as-in-charles-help-menu>:8888
). Я также пробовал некоторые прокси-приложения, такие как проксиматор, без каких-либо успехов. Также у меня проблемы и перезапуск charles исправил его.
Ответ 2
Если вы не хотите работать с командной строкой, вы можете сделать это из эмулятора, для этого требуется немного больше настроек, но работает красиво:
- Открыть настройки > Дополнительно > Сотовые сети > Имена точек доступа
![введите описание изображения здесь]()
- Выберите основной APN и введите прокси как 10.0.2.2:8888 (указывает на свой локальный компьютер). Вы можете использовать другой IP-адрес в сети, если вы делаете это с помощью реального устройства или на локальной ферме устройств.
![введите описание изображения здесь]()
- Перейдите на страницу charlesproxy.com/getssl в Chrome
![введите описание изображения здесь]()
- Сертификат SSL загрузит
![введите описание изображения здесь]()
-
Когда вы открываете его, вы попросите настроить булавку или подтвердить ее, если вы уже настроили ее
-
Назовите сертификат
![введите описание изображения здесь]()
- Наслаждайтесь прокси-сервером (вы должны включить SSL-проксирование для своего домена в Чарльзе, чтобы увидеть запросы)
Примечание. Я тестировал это с помощью эмулятора API 24 и, похоже, работал, однако он должен работать с другими версиями.
Примечание 2: Начиная с Android Studio 3.0 Чарльз больше не понадобится при использовании API > 21 по большей части с момента его появления:
https://developer.android.com/studio/profile/network-profiler.html
Ответ 3
он может быть скучно утомительным на Mac при отладке на эмуляторе Android.
Выполните следующие действия:
1) Откройте терминал и перейдите в папку tools
на пути SDK.
2) Перетащите файл с именем emulator
на терминал (это дает вам путь к исполняемому файлу).
Теперь ваш эмулятор должен прочитать путь, подобный этому
/Пользователи/your_pc_name/android_sdk/tools/emulator -avd Nexus_6P_API_23 -http-proxy http://x.x.x.x:8888
здесь xxxx - это IP-адрес, который вы можете найти в меню Charles Help.
3) и выполните это.
Voila! Теперь ваш эмулятор начнет работу в режиме прокси-сети.
Ответ 4
Теперь в Android-эмуляторе есть настройка
![введите описание изображения здесь]()
Ответ 5
/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
Это должно работать в большинстве макинтошей.