Chcę używać przeglądarki w emulatorze Androida i chcę używać ustawień proxy na moim komputerze. Jak mogę to ustawić?
Czytając bardzo dobre podręczniki Androida, mówią mi, że powinienem uruchomić Androida za pomocą następującego polecenia:
emulator -avd myavd -http-proxy http://168.192.1.2:3300
Ale nadal nie mogę korzystać z przeglądarki emulatora. Należy pamiętać, że używam adresu IP dla mojego serwera proxy.
Co ja robię źle?
Konfiguracja przy uruchomieniu> Aplikacja na Androida> Aplikacja> Cel> Dodatkowe opcje wiersza poleceń emulatora : -http -proxy http: //xx.xxx.xx.xx: 8080
źródło
-http-proxy http://username:password@host:port
emulator is not recognized as a command
w moim przypadku .. czy muszę dodać coś w zmiennej PATH? Używam Android Studio 1.0.1 i mam proxy w moim systemie biurowym.Teraz jest ustawienie w emulatorze Androida
źródło
Próbowałem po usunięciu http w nazwie serwera i zadziałało.
emulator -avd myavd -http-proxy 168.192.1.2:3300
źródło
Nie pomoże to przeglądarce, ale możesz również zdefiniować serwer proxy w swoim kodzie do użytku z klientem HTTP:
źródło
W Android Studio:
Kliknij Edytuj konfigurację w menu aplikacji
-http-proxy http://168.192.1.2:3300
to jest to.
Więcej fajnych rzeczy, jeśli chcesz użyć adresu IP swojego komputera, użyj tego polecenia:
-http-proxy "$(ipconfig getifaddr en0)":8888
na MacOS-http-proxy "$(hostname -i)":8888
w systemie Linuxźródło
Aby ustawić serwer proxy, musimy ustawić
APNS
ustawienia. Aby to zrobić:Przejdź do ustawień
Przejdź do sieci bezprzewodowych i sieci
Idź do sieci komórkowych
Przejdź do nazw punktów dostępu. Użyj menu, aby dodać nowe apns
Ustaw Proxy = localhost
Ustaw Port = port, którego używasz do tworzenia serwera proxy, w moim przypadku jest to 8989
Do ustawienia nazwy i apn tutaj jest link:
Zgodnie z twoją
sim
kartą możesz zobaczyć tabelęźródło
Nie miałem szczęścia, dopóki nie spróbowałem ustawić zmiennej środowiskowej
http_proxy
http://developer.android.com/tools/help/emulator.html
„Jeśli polecenie -http-proxy nie zostanie podane, emulator wyszukuje zmienną środowiskową http_proxy i automatycznie używa dowolnej wartości zgodnej z formatem opisanym powyżej”.
źródło
Zainstaluj Proxifier na swoim komputerze-hoście. Skonfiguruj proxy, aby korzystać z serwera proxy . Nie musisz robić nic więcej. Będzie dobrze. Proxifier przechwytuje wywołania z systemu (w tym emulatora Androida) i kieruje je przez skonfigurowane proxy.
źródło
nic z tego nie działało, używam eclipse w 64-bitowym systemie Windows: wykonaj następujące czynności ... zadziałało dla mnie: Okno -> Preferencje -> Android -> Uruchom -> Domyślne opcje emulatora -http-proxy = "http: / /10.1.8.30:8080 "
w twoim oknie zaćmienia
źródło
Czasami nawet po ustawieniu wszystkiego może nie działać. Wypróbowałem wszystkie metody, takie jak
Nic nie działało. Następnie wykonałem następujące czynności, które zadziałały natychmiast.
Idź do Eclipse Run -> uruchom konfiguracje. W sekcji Aplikacje na Androida możesz zobaczyć swoją aplikację. Teraz po prawej stronie kliknij kartę Cel. W sekcji „Dodatkowe opcje wiersza poleceń emulatora” dodaj następujące elementy.
-dns-server < serwery DNS z twojego komputera lokalnego do trzech > -http-proxy http: // < twoje proxy >: < twój port proxy >
Problem polega na tym, że ustawienia serwera DNS powinny pochodzić z systemu lokalnego. Przejdź do znaku zachęty cmd i uruchom ipconfig, aby sprawdzić serwery DNS. To samo z serwerem proxy i portem. Wszystko, co działa w Twojej przeglądarce, powinno zostać tutaj umieszczone.
źródło
Najłatwiej jest usunąć domyślny APN z emulatora (w moim przypadku jest to T-mobile) i utworzyć nowy APN z ustawieniami proxy.
Uwaga: wypróbowałem wszystkie opcje wiersza poleceń, a także próbowałem ustawić proxy dla domyślnego APN emulatorów, ale nic nie działało.
źródło
W zależności od środowiska używanego do uruchamiania emulatora sprawdź dzienniki, aby zobaczyć, jak uruchamia się emulator. Mój zaczyna się jako:
C: \ Users \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay brak -netspeed full -avd Nexus_5X_API_23
Następnie dodajesz opcję -http-proxy, w moim przypadku:
C: \ Users \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay brak -netspeed full -avd Nexus_5X_API_23 -http -proxy 192.168.0.22:8888
źródło
W przypadku, gdy pracujesz w środowisku proxy, a internet nie działa w Twoim emulatorze, nie zmieniaj żadnych ustawień w emulatorze. Przejdź do swojego projektu eclipse, kliknij prawym przyciskiem myszy, kliknij „Uruchom jako”, a następnie kliknij „Uruchom konfigurację”. W wyskakującym okienku wybierz "Cel" i przewiń trochę w dół, znajdziesz "Dodatkowe opcje wiersza poleceń emulatora" Wprowadź ustawienia proxy tutaj w "Dodatkowe opcje wiersza poleceń emulatora", jak wprowadziłem
-http-proxy http: // ee11s040: Om1l2ng3d4n2! [email protected]: 3128
Następnie uruchom nowy emulator.
źródło
najlepszym sposobem na ustawienie korporacyjnego serwera proxy z uwierzytelnianiem NTLM jest użycie cntlm:
http://cntlm.sourceforge.net/
Zainstaluj i skonfiguruj w C: \ Program Files \ Cntlm \ cntlm.ini Domyślnie cntlm, nasłuchuje 127.0.0.1:3128
Na urządzeniu z Androidem ustaw nowy APN z hostem proxy 10.0.2.2 i portem 3128 10.0.2.2 to specjalny alias do interfejsu sprzężenia zwrotnego hosta (127.0.0.1 na komputerze deweloperskim)
zobacz także http://developer.android.com/tools/devices/emulator.html#emulatornetworking
pozdrowienia
źródło
Czy jesteś pewien, że twój adres to 168.192.1.2, a nie 192.168.1.2?
Zwróć uwagę na zamienione pierwsze dwie liczby.
źródło
W konsoli uruchom następne polecenie:
źródło
Posiadanie emulatora AVD dla Androida:
W pierwszym polu (HTTP Proxy Server) ustaw tylko adres IP, pod którym znajduje się Twój serwer proxy (XXX.XXX.XXX.XXX), w drugim polu ustaw port swojego serwera proxy (przykład: 8080)
Następnie kliknij Zamknij w oknie i uruchom emulator
---- Dodano ... Następnie kroki Alexa działają w moim przypadku:
źródło
Możesz ustawić serwer proxy w swojej aplikacji. Można to zrobić za pomocą klasy Settings. Na przykład możesz dodać następujący wiersz do swojej metody „onCreate”.
Aby zmienić ustawienia proxy, musisz mieć uprawnienie android.permission.WRITE_SETTINGS w pliku AndroidManifest.xml.
źródło
Dla niektórych
leanback
emulatorów (telewizyjnych) możesz użyć cmd:adb shell settings put global http_proxy 10.0.2.2:8888
8888
- to port proxy na komputerze lokalnym (hoście), więc na komputerze lokalnym proxy http będzie miało wartość 127.0.0.1:8888Aby usunąć proxy (uruchom sekwencyjnie w linii cmd):
adb shell settings delete global http_proxy
adb shell settings put global global_http_proxy_host ""
adb shell settings put global global_http_proxy_port ""
źródło