Ответ 1
Я сумел сделать это в эмуляторе Adndroid 2.2.
Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"
Там установлено имя хоста прокси в свойстве "Прокси" и порт прокси в свойстве "Порт"
Кто-нибудь смог заставить Android-эмулятор работать за прокси-сервером, который требует аутентификации?
Я попытался установить аргумент -http-proxy для
http://DOMAIN/USERNAME:[email protected]:PORT
но я не добился успеха.
Я пробовал следовать документам безрезультатно. Я также попробовал параметр -verbose-proxy
, но это больше не существует.
Любые указатели?
Я сумел сделать это в эмуляторе Adndroid 2.2.
Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"
Там установлено имя хоста прокси в свойстве "Прокси" и порт прокси в свойстве "Порт"
Кажется, что SDK 1.5, флаг -http-proxy
также не работает. Для меня работала загрузка образа Android в эмулятор, а затем, когда Android работает, перейдите к Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names
, а затем настройте параметры http-прокси для точки доступа по умолчанию.
С настройками прокси-сервера APN я могу заставить браузер эмулятора работать в Интернете. Однако другие вещи, такие как Карты, по-прежнему не работают.
Я помню ту же проблему. После поиска в Интернете я нашел это решение. Из командной строки
1. > adb shell
2. # sqlite3 /data/data/com.android.providers.settings/databases/settings.db
3. sqlite> INSERT INTO system VALUES(99,’http_proxy', 'proxy:port');
4. sqlite>.exit
EDIT: Отредактированный ответ, чтобы отразить последнюю версию Android.
По-видимому, эти проблемы работают только с Android 2.x и Windows. Здесь есть открытая ошибка: http://code.google.com/p/android/issues/detail?id=5508&q=emulator%20proxy&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars
Найдите файл androidtool.cfg
в C:\Documents and Settings\YOUR USER NAME\.android\
Добавьте эту строку:
[email protected]
Сохраните файл и попробуйте открыть Android SDK.
Для настройки прокси-сервера нам нужно установить APNS. Для этого:
Для установки Name и apn здесь ссылка:
В соответствии с вашей SIM-картой вы можете увидеть таблицу
Это сработало для меня: http://code.google.com/p/android/issues/detail?id=5508#c39
Видимо, в эмуляторе есть ошибка, которая заставляет вас использовать IP-адрес прокси вместо имени...
Джей, хотя это было бы идеальным местом для этой информации, оно не обновлялось для 2.1. Ниже я перечислю методы, которые в настоящее время НЕ работают для эмулятора 2.1.
Аргумент http-post не работает для эмулятора 2.1. Установка прокси-сервера в списке APN в эмуляторе 2.1 не работает. Вставка прокси-сервера непосредственно в системную таблицу через sql-lite не работает с 2.1.
Фактически, единственный способ заставить браузер подключиться к Интернету через эмулятор, который я нашел в 2.1, - НЕ использовать прокси-сервер вообще. Я действительно надеюсь, что это скоро исправится, потому что есть много людей с этой же проблемой.
Запустите командную строку.
Перейдите в папку, в которой находится ваш эмулятор. В общем, это будет в папке инструментов Android SDK.
Затем используйте следующую команду:
emulator -avd <avd name> -http-proxy <server>:<proxy>
Используя это, мы сможем пользоваться Интернетом с помощью браузера.
Использование эмулятора Android SDK 1.5 с прокси в Eclipse 3.45
Перейдите в Проводник пакетов → Щелкните правой кнопкой мыши на своем Android-проекте → Запустить As- > Run Configurations.
В приложении Android в левом столбце выберите свой проект → в правом столбце, где вы увидите Android | Цель | Общие вкладки →
Выберите Target → в нижней части "Дополнительные параметры командной строки эмулятора" →
-http-proxy http://www.gateProxy.com:1080 -debug-proxy http://www.gateProxy.com:1080
-. > Run/Close
Я не использовал эмулятор Android, но я установил переменную среды $http_proxy для perl и wget и несколько инструментов cygwin в Windows. Это может работать для вас для Android, но слэш в доменном имени кажется потенциальной проблемой.
Я знаю, что я пытался использовать свой домен "GLOBAL" там, но в итоге взял его и придерживался: http://$USER:[email protected]:80
Одна проблема, с которой я сталкиваюсь, - это программы, которые также не могут использовать прокси-сервер для DNS-запросов. В случаях, когда они этого не делают, я всегда получаю имя хоста, которое не найдено. Я бы хотел найти локальный dns-резольвер, который может использовать прокси-сервер для всех программ, которые не будут.
Мне удалось просмотреть трафик с помощью сниффера HTTP вместо прокси. Я использовал HTTPScoop, который является приятным маленьким приложением.
Также приятная вещь об использовании HTTPScoop заключается в том, что я также могу видеть трафик на моем самом устройстве, когда я включаю общий доступ к Интернету, и мой телефон использует Wi-Fi от моего mac. Так что это хорошая сделка для отладки, что происходит на самом телефоне и эмуляторе.
Таким образом, не имеет значения, какой эмулятор вы используете, потому что сниффер видит трафик, не зависящий от эмулятора, устройства, настроек компилятора и т.д.
Я объясню все этапы:
Я думаю, теперь все ясно о настройках прокси-сервера...
Для Android2.3.3 Settings- > Wireless & сети- > MobileNetworks- > AccessPointNames- > Telkila- > установите здесь прокси и порт (xx.xx.xx.xx и порт)
У меня была такая же проблема, когда я использовал следующую команду:
emulator-x86.exe -http-proxy domain\user:[email protected]:port -avd MyAVD
Я получил ошибку проверки подлинности прокси.
Наконец, я должен был обойти аутентификацию прокси-сервера NTLM, используя здесь Cntlm:
http://sourceforge.net/projects/cntlm/
Затем, после простой настройки cntlm.ini, вместо этого я использую следующую команду:
emulator-x86.exe -http-proxy 127.0.0.1:3128 -avd MyAVD
и он работает:)