Frage

Hat es jemand geschafft, den Android-Emulator hinter einem Proxy zum Laufen zu bringen, der eine Authentifizierung erfordert?

Ich habe versucht, das Argument -http-proxy auf zu setzen

http://DOMAIN/USERNAME:PASSWORD@IP:PORT

aber ich habe keinen Erfolg.

Ich habe erfolglos versucht, den Dokumenten zu folgen.Ich habe es auch versucht -verbose-proxy Einstellung, aber diese scheint nicht mehr zu existieren.

Irgendwelche Hinweise?

War es hilfreich?

Lösung

Ich habe es im Adndroid 2.2-Emulator geschafft.

Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"

Setzen Sie dort den Proxy -Hostnamen in der Eigenschaft "Proxy" und den Proxy -Port in der Eigenschaft "Port".

Andere Tipps

Es scheint, als ob SDK 1.5 aufwärts, das -http-proxy flag funktioniert auch nicht.Was bei mir funktioniert hat, ist, das Android-Image im Emulator zu starten und dann, sobald Android ausgeführt wird, zu zu gehen Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names und richten Sie dann die HTTP-Proxy-Einstellungen für den Standardzugriffspunkt ein.

Wenn die APN-Proxy-Einstellungen vorhanden sind, kann ich den Browser des Emulators dazu bringen, im Internet zu surfen.Andere Dinge wie Maps funktionieren jedoch immer noch nicht.

Ich erinnere mich, dass ich das gleiche Problem hatte. Nach einer Suche im Internet habe ich diese Lösung gefunden. Über die Befehlszeile:

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

BEARBEITEN:Die Antwort wurde bearbeitet, um die neueste Version von Android widerzuspiegeln.

Anscheinend läuft dieses Problem nur mit Android 2.x und Windows.Hier gibt es einen offenen Fehler:http://code.google.com/p/android/issues/detail?id=5508&q=emulator%20proxy&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

  1. Finden Sie die Datei androidtool.cfg bei C:\Documents and Settings\YOUR USER NAME\.android\

  2. Fügen Sie diese Zeile hinzu:

    http.proxyLogin=USER@PASSWORD
    
  3. Speichern Sie die Datei und versuchen Sie, das Android SDK zu öffnen.

Zum Festlegen des Proxyservers müssen wir die APNS-Einstellung festlegen.Um dies zu tun:

  • Gehen Sie zu Einstellung
  • Gehen Sie zu „Drahtlos und Netzwerke“.
  • Gehen Sie zu Mobilfunknetzen
  • Gehen Sie zu den Namen der Zugangspunkte.Verwenden Sie das Menü, um neue APNS hinzuzufügen
  • Setzen Sie Proxy = localhost
  • Stellen Sie Port = Port ein, den Sie zum Erstellen eines Proxyservers verwenden. In meinem Fall ist es 8989

Zum Festlegen von Name und APN finden Sie hier den Link:

Je nach SIM-Karte können Sie die Tabelle sehen

Das hat bei mir funktioniert: http://code.google.com/p/android/issues/detail?id=5508#c39
Anscheinend gibt es einen Fehler im Emulator, der Sie dazu zwingt, die IP-Adresse des Proxys anstelle des Namens zu verwenden ...

Jay, obwohl dies der ideale Ort für diese Informationen wäre, wurden sie nicht für 2.1 aktualisiert.Nachfolgend werde ich die Methoden auflisten, die derzeit NICHT für den 2.1-Emulator funktionieren.

Das http-post-Argument funktioniert nicht für den 2.1-Emulator.Das Setzen eines Proxys in der APN-Liste im 2.1-Emulator funktioniert nicht.Das direkte Einfügen des Proxys in die Systemtabelle über SQL-Lite funktioniert mit 2.1 nicht.

Tatsächlich besteht die EINZIGE Möglichkeit, den Browser über den Emulator, den ich in 2.1 gefunden habe, dazu zu bringen, eine Verbindung zum Internet herzustellen, darin, überhaupt KEINEN Proxy zu verwenden.Ich hoffe wirklich, dass das bald behoben wird, denn es gibt viele Leute mit dem gleichen Problem.

  1. Eingabeaufforderung starten.

  2. Gehen Sie zu dem Ordner, in dem sich Ihr Emulator befindet.Im Allgemeinen befindet es sich im Tools-Ordner des Android SDK.

  3. Verwenden Sie dann den folgenden Befehl:

    emulator -avd <avd name> -http-proxy <server>:<proxy>
    

    Dadurch können wir über den Browser auf das Internet zugreifen.

Verwendung des Android SDK 1.5-Emulators mit Proxy in Eclipse 3.45

Gehen Sie zum Paket-Explorer -> Rechtsklick auf Ihr Android-Projekt -> Ausführen als -> Konfigurationen ausführen.

Wählen Sie unter Android -Anwendung in der linken Spalte Ihr Projekt in der rechten Spalte aus, in der Sie Android | sehen Ziel | Gemeinsame Registerkarten ->

Wählen Sie Ziel -> unten „Zusätzliche Emulator-Befehlszeilenoptionen“ ->

-HTTP-Proxy http://www.gateProxy.com:1080 -debug-proxy http://www.gateProxy.com:1080

->Ausführen/Schließen.

Ich habe den Android-Emulator nicht verwendet, aber ich habe die Umgebungsvariable $http_proxy für Perl und Wget sowie einige Cygwin-Tools unter Windows festgelegt.Für Android funktioniert das vielleicht, aber der Schrägstrich im Domänennamen scheint ein potenzielles Problem zu sein.Ich weiß, dass ich versucht habe, meine Domain „GLOBAL“ dort zu haben, aber am Ende habe ich sie entfernt und bin dabei geblieben: http://$USER:password@www-proxy.company.com:80

Ein Problem, auf das ich jedoch häufig stoße, sind Programme, denen nicht mitgeteilt werden kann, dass sie den Proxy auch für DNS-Anfragen verwenden sollen.In Fällen, in denen dies nicht der Fall ist, erhalte ich immer die Meldung, dass der Hostname nicht gefunden wurde.Ich würde gerne einen lokalen DNS-Resolver finden, der den Proxy für alle Programme verwenden kann, die dies nicht tun.

Ich konnte den Datenverkehr mit einem HTTP-Sniffer anstelle eines Proxys anzeigen.Ich habe HTTPScoop verwendet, eine nette kleine App.

Das Schöne an der Verwendung von HTTPScoop ist auch, dass ich den Datenverkehr auch auf meinem eigentlichen Gerät sehen kann, wenn ich die Internetfreigabe aktiviere und mein Telefon das WLAN meines Mac nutzen lasse.Das ist also ein gutes Angebot zum Debuggen dessen, was auf dem Telefon selbst UND dem Emulator passiert.

Auf diese Weise spielt es keine Rolle, welchen Emulator Sie verwenden, da der Sniffer den Datenverkehr unabhängig von Emulator, Gerät, Compiler-Einstellungen usw. sieht.

Ich erkläre alle Schritte:

  1. Gehen Sie im Android-Emulator zu den Einstellungen > Drahtlos & Netzwerk > Mobilfunknetz > Zugangspunkt > Telkilla > und nehmen Sie hier die erforderlichen Einstellungen wie Proxy, Port usw. vor.

Ich denke, jetzt ist alles klar über die Proxy-Einstellungen ...

Für Android2.3.3 Einstellungen-> Wireless & Networks-> Mobilenetworks-> AccessPointnames-> Telkila-> Setzen Sie den Proxy und den Port hier (xx.xx.xx.xx und Port)

Ich hatte das gleiche Problem, als ich den folgenden Befehl verwendete:

emulator-x86.exe -http-proxy domain\user:password@proxyIP:port -avd MyAVD

Ich habe den Proxy-Authentifizierungsfehler erhalten.

Schließlich musste ich die Proxy-NTLM-Authentifizierung umgehen, indem ich hier Cntlm verwendete:

http://sourceforge.net/projects/cntlm/

Und nachdem ich einfach die cntlm.ini konfiguriert habe, verwende ich stattdessen den folgenden Befehl:

emulator-x86.exe -http-proxy 127.0.0.1:3128 -avd MyAVD

und es funktioniert :)

Mit den neuen Versionen von Android Studio und seinem Emulator ist dies eine einfache Aufgabe.

Drücken Sie die Schaltfläche „Mehr“ des Emulators und wählen Sie Einstellungen -> Registerkarte „Proxy“.Alle benötigten Konfigurationen sind vorhanden.

enter image description here

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top