Ich möchte den Browser im Android-Emulator verwenden und die Proxy-Einstellungen auf meinem Computer verwenden. Wie kann ich das einrichten?
Beim Lesen der sehr guten Android-Handbücher wird mir gesagt, dass ich Android mit dem folgenden Befehl starten soll:
emulator -avd myavd -http-proxy http://168.192.1.2:3300
Ich kann den Emulator-Browser aber immer noch nicht verwenden. Bitte beachten Sie, dass ich die IP-Adresse für meinen Proxyserver verwende.
Was mache ich falsch?
Bei Konfiguration ausführen> Android-Anwendung> App> Ziel> Zusätzliche Emulator-Befehlszeilenoptionen: -http-proxy http: //xx.xxx.xx.xx: 8080
quelle
-http-proxy http://username:password@host:port
emulator is not recognized as a command
in meinem Fall .. muss ich etwas in PATH Variable hinzufügen? Ich verwende Android Studio 1.0.1 und habe einen Proxy in meinem Office-System.Jetzt gibt es eine Einstellung im Android-Emulator
quelle
Ich habe es versucht, nachdem ich http im Servernamen entfernt hatte, und es hat bei mir funktioniert.
emulator -avd myavd -http-proxy 168.192.1.2:3300
quelle
Dies hilft dem Browser nicht, aber Sie können in Ihrem Code auch einen Proxy definieren, der mit einem HTTP-Client verwendet werden soll:
quelle
Auf Android Studio:
Klicken Sie im App-Menü auf Konfiguration bearbeiten
-http-proxy http://168.192.1.2:3300
das ist es
Weitere coole Sachen, wenn Sie Ihre PC-IP verwenden möchten, verwenden Sie diesen Befehl:
-http-proxy "$(ipconfig getifaddr en0)":8888
unter MacOS-http-proxy "$(hostname -i)":8888
unter Linuxquelle
Zum Einstellen des Proxyservers müssen wir die
APNS
Einstellung festlegen . Um dies zu tun:Gehen Sie zu Einstellung
Gehen Sie zu WLAN und Netzwerken
Gehen Sie zu Mobilfunknetzen
Gehen Sie zu den Zugriffspunktnamen. Verwenden Sie das Menü, um neue Apns hinzuzufügen
Setzen Sie Proxy = localhost
Setzen Sie Port = Port, den Sie zum Erstellen eines Proxyservers verwenden, in meinem Fall 8989
Zum Einstellen von Name und apn ist hier der Link:
Entsprechend Ihrer
sim
Karte können Sie die Tabelle sehenquelle
Ich hatte kein Glück, bis ich versuchte, die Umgebungsvariable festzulegen
http_proxy
http://developer.android.com/tools/help/emulator.html
"Wenn der Befehl -http-proxy nicht angegeben wird, sucht der Emulator nach der Umgebungsvariablen http_proxy und verwendet automatisch alle Werte, die dem oben beschriebenen Format entsprechen."
quelle
Installieren Sie Proxifier auf Ihrem Host-Computer. Richten Sie den Proxifier für die Verwendung Ihres Proxys ein . Sie müssen nichts anderes tun. Es wird dir gut gehen. Proxifier fängt die Anrufe vom System (einschließlich des Android-Emulators) ab und leitet sie über den konfigurierten Proxy weiter.
quelle
Nichts davon hat funktioniert. Ich verwende Eclipse unter Windows 64-Bit: Führen Sie die folgenden Schritte aus ... es hat bei mir funktioniert: Fenster -> Einstellungen -> Android -> Start -> Standard-Emulatoroptionen -http-proxy = "http: / /10.1.8.30:8080 "
in Ihrem Eclipse-Fenster
quelle
Manchmal funktioniert es auch nach dem Einstellen nicht mehr. Ich habe alle Methoden wie ausprobiert
Nichts hat geklappt. Dann habe ich folgendes gemacht, was sofort funktioniert hat.
Gehe zu Eclipse Run -> Run Configurations. Unter Android-Anwendungen sehen Sie Ihre Anwendung. Klicken Sie nun auf der rechten Seite auf die Registerkarte Ziel. Fügen Sie unter "Zusätzliche Emulator-Befehlszeilenoptionen" Folgendes hinzu.
-dns-server < DNS-Server von Ihrem lokalen Computer bis zu drei > -http-proxy http: // < Ihr Proxy >: < Ihr Proxy-Port >
Der Haken dabei ist, dass die DNS-Servereinstellung von Ihrem lokalen System stammen sollte. Gehe cmd Aufforderung und führen Sie ipconfig Ihre DNS - Server zu überprüfen. Gleiches gilt für den Proxyserver und den Port. Was auch immer für Ihren Browser funktioniert, sollte hier eingegeben werden.
quelle
Am einfachsten ist es, den Standard-APN aus dem Emulator (in meinem Fall T-Mobile) zu löschen und einen neuen APN mit Ihren Proxy-Einstellungen zu erstellen.
Hinweis: Ich habe alle Befehlszeilenoptionen ausprobiert und auch versucht, den Proxy für den Standard-APN des Emulators festzulegen, aber nichts hat funktioniert.
quelle
Abhängig von der Umgebung, in der Sie den Emulator ausführen, überprüfen Sie die Protokolle, um festzustellen, wie der Emulator gestartet wird. Meins wird gestartet als:
C: \ Benutzer \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay keine -netspeed full -avd Nexus_5X_API_23
Dann fügen Sie in meinem Fall die Option -http-proxy hinzu:
C: \ Benutzer \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay keine -netspeed full -avd Nexus_5X_API_23 -http-proxy 192.168.0.22:8888
quelle
Wenn Sie sich in einer Proxy-Umgebung befinden und das Internet in Ihrem Emulator nicht ausgeführt wird, ändern Sie bitte keine Einstellungen im Emulator. Gehen Sie zu Ihrem Eclipse-Projekt, klicken Sie mit der rechten Maustaste, klicken Sie auf "Ausführen als" und dann auf "Konfiguration ausführen". Wählen Sie im Popup-Fenster "Ziel" und scrollen Sie ein wenig nach unten. Sie finden "Zusätzliche Emulator-Befehlszeilenoptionen". Geben Sie Ihre Proxy-Einstellung hier unter "Zusätzliche Emulator-Befehlszeilenoptionen" ein, wie ich eingegeben habe
-http-proxy http: // ee11s040: Om1l2ng3d4n2! [email protected]: 3128
Starten Sie dann einen neuen Emulator.
quelle
Der beste Weg, um einen Unternehmens-Proxy mit ntlm-Authentifizierung festzulegen, ist die Verwendung von cntlm:
http://cntlm.sourceforge.net/
Installieren und konfigurieren Sie in C: \ Programme \ Cntlm \ cntlm.ini Standardmäßig hört cntlm 127.0.0.1:3128
Stellen Sie im Android-Gerät einen neuen APN mit Proxy-Host 10.0.2.2 ein und Port 3128 10.0.2.2 ist ein spezieller Alias für Ihre Host-Loopback-Schnittstelle (127.0.0.1 auf Ihrem Entwicklungscomputer).
Siehe auch http://developer.android.com/tools/devices/emulator.html#emulatornetworking
Grüße
quelle
Sind Sie sicher, dass Ihre Adresse 168.192.1.2 und nicht 192.168.1.2 lautet?
Beachten Sie die getauschten ersten beiden Zahlen.
quelle
Starten Sie in der Konsole den nächsten Befehl:
quelle
Mit dem AVD Android Emulator:
Stellen Sie im ersten Feld (HTTP-Proxyserver) nur die IP-Adresse ein, unter der sich Ihr Proxy befindet (XXX.XXX.XXX.XXX). Im zweiten Feld legen Sie den Port Ihres Proxys fest (Beispiel: 8080).
Klicken Sie dann im Fenster auf Schließen und starten Sie den Emulator
---- Hinzugefügt ... Dann funktionieren die Alex-Schritte in meinem Fall:
quelle
Sie können den Proxy in Ihrer App festlegen. Dies kann mit der Klasse "Einstellungen" erfolgen. Beispielsweise können Sie Ihrer "onCreate" -Methode die folgende Zeile hinzufügen.
Um die Proxy-Einstellungen zu ändern, müssen Sie die Berechtigung android.permission.WRITE_SETTINGS in Ihrer AndroidManifest.xml-Datei haben.
quelle
Für einige
leanback
(TV-) Emulatoren können Sie cmd verwenden:adb shell settings put global http_proxy 10.0.2.2:8888
8888
- ist ein Proxy-Port auf einem lokalen Computer (Host). Auf einem lokalen Computer lautet der http-Proxy also 127.0.0.1:8888So entfernen Sie den Proxy (nacheinander in cmd-Zeile ausführen):
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 ""
quelle