it-swarm.com.de

Android-Emulator-Proxyeinstellung

Ich versuche, einen Netzwerk-Proxy einzurichten, um den Emulatorverkehr anzuzeigen.

Wenn ich jetzt die Netzwerkeinstellungen des Emulators (10.0.2.2: <port>) ändere, funktionieren die Dinge einwandfrei. __ Wenn ich jedoch versuche, den Proxy über die Befehlszeile mithilfe von emulator -avd myAvd -http-proxy localhost festzulegen : <port> , SSL-Verkehr geht nicht durch und ich erhalte Timeout-Fehler.

Hat es jemand geschafft, das zum Laufen zu bringen?

Vielen Dank

25
Rndm

Nicht sicher, welchen Emulator Sie verwenden, aber es gibt ein Problem mit new Android-Emulator, der mit Android Studio 2 angekündigt wurde. - Bug Tracker

Um eine Problemumgehung zu erhalten, musste ich mit dem Emulator new, eingestellt auf API 23, Folgendes tun:

  1. Übergeben Sie -http-proxy http://192.168.x.x:yyyy als Flag, wenn Sie den Emulator starten. Einzelheiten dazu finden Sie hier.
  2. Konfigurieren Sie die Access Point-Einstellungen für den Proxy im Emulator. Dazu gehen Sie zu settings -> more -> Mobilfunknetz -> Zugangspunktnamen und bearbeiten den vorhandenen Zugangspunkt.
  3. Schließlich gibt es in Developer Settings eine Einstellung für die Konfiguration des Geräts, um den alten DHCP-Client anstelle des neuen zu verwenden. Dies muss konfiguriert werden, um das alte zu verwenden.
  4. Airplane-Modus ein- und ausschalten.

 Access point settings for proxy  Developer settings for DHCP client

75
Craig Russell

Lesen Sie den Kommentar # 6 unter https://code.google.com/p/Android/issues/detail?id=201402#c6 aus. Wenn Sie die LAN-IP-Einstellung Ihres Computers verwenden, funktioniert der Proxy mit der Befehlszeilenoption -http-proxy. Es sind keine weiteren Problemumgehungen erforderlich.

Zum Beispiel:

$ emulator -avd Nexus_5X_API_23 -http-proxy http://10.102.80.149:8888
8
Fabian Frank

Es besteht die Möglichkeit, dass Ihr Proxy-Server in seiner Antwort auf die HTTP CONNECT-Anforderung des Android-Emulators einige zusätzliche HTTP-Header zurückgibt. Wenn ja, kann es sein, dass Sie auf ein bekanntes Problem stoßen, das inzwischen behoben sein sollte. Aufgrund von Synchronisierung zwischen Entwicklungszweigen wurde der Fix jedoch nie veröffentlicht. Bitte sehen Sie mein Kommentar für die Details.

Um zu verdeutlichen, dass HTTP-Anforderungen von dem Problem nicht betroffen sind, da sie nicht auf Verbindungs-Tunneln (d. H. HTTP CONNECT) angewiesen sind, sondern über die HTTP-Nachrichtenweiterleitung übermittelt werden, die stattdessen in RFC7230 definiert ist.

0
Alex Zolotko

Ich musste vor kurzem eine Sniffing-Umgebung einrichten, um Android-SSL-Verkehr zu debuggen. 

Es scheint jetzt, dass Sie den Proxy nicht mehr auf dem Zugangspunkt des Emulators einstellen müssen (Schritte 2 bis 4 von @ craig-russell). Das Hinzufügen des Startparameters -http-proxy reicht aus. Auch auf API-Levels <23 versucht und erfolgreich abgeschlossen.

Meine Spezifikationen: Android Studio 2.3.1Windows 10Android-Emulator-Version 25.2.5.0

Vollständige Details: http://www.devsbedevin.com/debugging-Android-ssl-traffic/

0
Vaiden