2016-02-19 3 views
24

Я пытаюсь настроить сетевой прокси для просмотра трафика эмулятора.Настройка прокси-сервера для эмулятора Android

Теперь, если я внести изменения в сетевых настройках эмулятора (10.0.2.2:. < порт>, все работает отлично Но если я пытаюсь установить прокси-сервер с помощью командной строки, используя эмулятор -avd myAvd -http-прокси локальный:.? < порта>, SSL трафик не проходит и я получаю тайм-аут ошибку

Любые смогли получить эту работу

Благодаря

+4

Полезно добавить флаг в команду 'emulator -avd':' -debug-proxy' –

+0

Возможный дубликат [Как настроить настройки прокси-сервера для Android-эмулятора?] (Https://stackoverflow.com/questions/1570627/how-to-setup-android-emulator-proxy-settings) –

ответ

68

не знаю, что эмулятор вы используете, но есть проблема с new Android эмулятор объявил с Android Studio 2 - Bug Tracker

Чтобы получить обходной путь, я должен был сделать следующее, используя new эмулятор установлен на API 23:

  1. Pass -http-proxy http://192.168.x.x:yyyy как флаг, когда вы запускаете эмулятор. For details how to do this, see here.
  2. Настройте параметры для прокси-сервера в эмуляторе Access Point. Чтобы сделать это, вы идете в настройки -> более ->сотовой сети ->имена точек доступа и отредактировать существующую точку доступа.
  3. Наконец, в настройках Developer Settings есть настройка для использования устаревшего DHCP-клиента вместо нового. Это должно быть настроено на использование устаревшего.
  4. Включить и выключить режим Airplane.

Access point settings for proxy Developer settings for DHCP client

+3

Препятствие шаг 1 также работает для меня с эмулятором API 23 – nhkhanh

+0

привет, я пробовал, как вы описали, но все еще не работает, такое же значение для хром, но в эмуляторе нет –

+0

Работал , если у вас есть пользователь/пароль для вашего прокси, вам нужно запустить chrome/webbrowser, чтобы установить их там тоже. – Mualig

7

Заканчивать комментарий # 6 https://code.google.com/p/android/issues/detail?id=201402#c6. Если вы используете настройки LAN LAN вашего компьютера, прокси-сервер работает с помощью ключа командной строки -http-proxy, и никаких других обходных решений не требуется.

Например:

$ emulator -avd Nexus_5X_API_23 -http-proxy http://10.102.80.149:8888 
+0

Это, кажется, правильный подход. – Vaiden

0

Я недавно был создан нюхают среду для отладки некоторые Android трафика SSL.

Похоже, теперь вам больше не нужно устанавливать прокси-сервер в точке доступа эмулятора (шаги 2-4 на ответ @ Craig-russell). Достаточно добавить параметр запуска -http-proxy. Также пробовал уровни API < 23 и преуспел.

Мои данные: Android Studio 2.3.1 для Windows 10 Android версии эмулятора 25.2.5.0

Полная информация: http://www.devsbedevin.com/debugging-android-ssl-traffic/

0

Там есть шанс, что ваш прокси-сервер возвращает некоторые дополнительные заголовки HTTP в своем ответе к запросу HTTP CONNECT для эмулятора Android.Если это так, вы можете столкнуться с a known issue, который должен был быть исправлен к настоящему времени, но из-за desync между ветвями развития исправление никогда не было выпущено. Для получения подробной информации см. my comment.

Чтобы уточнить, HTTP-запросы не затронуты проблемой, потому что они не полагаются на туннелирование соединений (т. Е. HTTP CONNECT), доставляя их через HTTP-пересылку сообщений, определенную в RFC7230.

Смежные вопросы