866 Stimmen

Wie kann ich von meinem Android-Gerät auf meinen lokalen Host zugreifen?

Ich kann mit dem Android-Emulator auf den Webserver meines Laptops zugreifen, ich verwende 10.0.2.2:portno funktioniert gut.

Aber wenn ich mein echtes Android-Telefon anschließe, kann der Telefonbrowser keine Verbindung mit demselben Webserver auf meinem Laptop herstellen. Das Telefon ist über ein USB-Kabel mit dem Laptop verbunden. Wenn ich den Befehl adb devices ausführe, kann ich mein Telefon sehen.

Was übersehe ich?

5 Stimmen

0 Stimmen

Siehe Dokumentation hier : developer.Android.com/tools/devices/

5 Stimmen

Schalten Sie die Firewall aus, während Sie Ihre Webseite testen, oder fügen Sie Ihre IP-Adresse in den Firewall-Einstellungen zu den vertrauenswürdigen Netzwerken hinzu.

42voto

GertV Punkte 821

Ich habe eine schnelle Lösung für dieses Problem gefunden. Versuchen Sie dies Link . Das sollte Ihnen helfen, das Problem zu beheben.

Ich habe nur eine Sache geändert: Dort, wo in der Anleitung steht, dass Sie "127.0.0.1" in "All" ändern, ändern Sie stattdessen die IP-Adresse, unter der Ihr Server läuft.

Danach sollten Sie in der Lage sein, eine Verbindung zu Ihrem localhost herzustellen.


Nachfolgend finden Sie eine (korrigierte) Kopie der Informationen von der verlinkten Seite:

Schritt 1

Installieren Sie den Wamp-Server (oder einen anderen, den Sie bevorzugen).

Dies ist einer der besten Server, die ich kenne, um einen lokalen Server einzurichten. Wenn Sie Apache oder einen anderen Server installiert haben, ignorieren Sie diesen Schritt.

Laden Sie Wamp Server von hier herunter und installieren Sie es.

Schritt 2

Fügen Sie eine neue Regel für Port 80 in der Windows-Firewall hinzu.

  1. Öffnen Sie die Systemsteuerung und wählen Sie Windows-Firewall.

  2. Wählen Sie im linken Bereich der Einstellungsseite der Windows-Firewall die Option Erweiterte Einstellungen aus.

  3. Wählen Sie im linken Bereich die Option Eingehende Regeln und dann Neue Regel.

  4. Wählen Sie Port und klicken Sie auf Weiter.

  5. Wählen Sie das Optionsfeld "Spezifische lokale Ports" und geben Sie 80 als Portwert ein.

  6. Lassen Sie die Verbindung unverändert zu und fahren Sie mit dem nächsten Schritt fort.

  7. Lassen Sie die Profiloptionen unverändert und klicken Sie auf Weiter.

  8. Geben Sie Ihrer neuen Regel einen schönen Namen und klicken Sie auf Fertig stellen.

Dadurch wird der Zugriff auf Port 80 über die lokale Netzwerk-IP ermöglicht.

Schritt 3

Bearbeiten Sie die Datei httpd.conf des Wamp-Servers, um den 403-Fehler zu beheben.

Wir müssen diese Datei bearbeiten. Andernfalls erhalten wir den Fehler 403 forbidden, wenn wir über eine lokale Netzwerk-IP auf den localhost zugreifen.

  1. Klicken Sie auf das Symbol in der Taskleiste des Wamp-Servers.

  2. Öffnen Sie das Untermenü des Apache-Servers.

  3. Wählen Sie httpd.conf.

  4. Diesen Abschnitt der Konfiguration finden Sie in der Datei httpd.conf:

    Directory “c:/wamp/www/”
    #
    # Possible values for the Options directive are “None”, “All”,
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that “MultiViews” must be named *explicitly* — “Options All”
    # doesn’t give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride all
    
    #
    # Controls who can get stuff from this server.
    #
    
    # onlineoffline tag – don’t remove
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1

Suchen Sie "127.0.0.1" und ersetzen Sie es durch "All", speichern Sie die Datei und starten Sie Ihren Wamp-Server neu.

Schritt 4

Finden Sie Ihre lokale Netzwerk-IP.

  1. Öffnen Sie die Eingabeaufforderung.

  2. Tippen Sie und geben Sie die ipconfig Befehl.

  3. In meinem Fall lautet die Adresse meines lokalen Netzwerks 10.0.0.2.

Dies ist die IP, die Sie für den Zugriff auf Ihren lokalen Host auf Ihrem Android-Telefon über WLAN benötigen. Um zu testen, ob es funktioniert, geben Sie diese IP-Adresse in Ihren Desktop-Browser ein, in dem Ihr Localhost-Server installiert ist. Der Browser sollte Ihre Localhost-Seite erfolgreich anzeigen. Damit ist sichergestellt, dass die IP-Adresse des lokalen Netzwerks auf Ihrem Android-Telefon erfolgreich zugänglich ist.

Ich hoffe, dass diese Anleitung Ihnen helfen wird, auf Ihren Localhost über WLAN zuzugreifen.

0 Stimmen

Danke! Das hat so einfach funktioniert. Nur eine Sache; ich habe die httpd.conf als # onlineoffline tag - don't remove Order Allow,Deny Allow from all

2 Stimmen

Tutorial basiert auf Windows? was?

1 Stimmen

Link funktioniert nicht mehr, so dass die ganze Antwort jetzt nutzlos ist, da die Informationen nicht zu SO hinzugefügt wurden, wie man es macht.

42voto

Sanjay Kumar Punkte 1434

Auf einem Windows-PC müssen Sie nichts weiter tun, als Ihre IPv4-Adresse mit dem Befehl "ipconfig" herauszufinden.

  • Schritt 1: Verbinden Sie Ihr Handy über ein USB-Kabel mit dem PC.
  • Schritt 2: Verwenden Sie den Befehl 'ipconfig', um Ihre IPv4-Adresse (externe IP des Routers) herauszufinden, z. B. 192.168.1.5 in meinem Fall.
  • Schritt 3: Greifen Sie einfach über den Browser Ihres Telefons auf "192.168.1.5:8080" zu. Es funktioniert!

Andere Env Details : Windows 7, Google Nexus 4 (4.2.2), Tomcat Server, Grails Anwendung.

Sie sollten auch sicherstellen, dass Sie in der AndroidManifest-Datei die Berechtigung für den Internetzugang haben:

<uses-permission android:name="android.permission.INTERNET"/>

0 Stimmen

Ich habe es versucht, aber es wird immer wieder "Verbindung verweigert" angezeigt. Warum? :( Muss der Port 8080 sein? Derzeit läuft mein Webdienst über einen anderen Port.

2 Stimmen

Ich habe Tomcat an Port 8080 verwendet. Sie können Ihren eigenen Server-Port anstelle von 8080 anhängen.

1 Stimmen

Und wie sieht es mit einer Webanwendung aus, nicht mit einer nativen Anwendung?

22voto

Akhil Jain Punkte 13218

Es gibt jedoch eine weitaus bessere Lösung. Sie können auf Ihren Host-Rechner mit der IP-Adresse "10.0.2.2" zugreifen. Dies wurde vom Android-Team so eingerichtet. So kann Ihr Webserver perfekt auf localhost laufen und von Ihrer Android-App aus können Sie ihn über "http://10.0.2.2:8080" erreichen.

5 Stimmen

Der Trick besteht darin, die lokale IP-Adresse Ihres Rechners anzugeben und über einen drahtlosen Router, der zwischen Ihrem Android-Gerät und Ihrem Rechner bzw. System angeschlossen ist, darauf zuzugreifen.

0 Stimmen

Toller Punkt, ich habe genau danach gesucht, um den Emulator mit localhost zu verbinden. Danke!!

0 Stimmen

Manchmal werden Ressourcen nicht geladen.

15voto

Jason Punkte 49785

Da es sich um eine alte Frage handelt, gibt es eine neue Methode, die wirklich sehr einfach ist. Laden Sie die ADB Chrome-Erweiterung und folgen Sie dann diesen Anweisungen:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging

3 Stimmen

Es ist nicht mehr nötig, ADB herunterzuladen, da es veraltet ist, aber gehen Sie zu developers.google.com/chrome-developer-tools/docs/ und folgen Sie den Anweisungen. Hinweis: Ich musste Port 8443 auf localhost:8443 weiterleiten.

0 Stimmen

Funktioniert dies nur für Url-Anrufe aus Chrome auf dem Gerät oder soll es auch aus meiner App heraus funktionieren?

3 Stimmen

Dies brachte mich auf die richtige Spur - eine aktuellere Antwort zu Chrome Dev Tools finden Sie hier: Android Chrome Umgekehrte Portweiterleitung

10voto

Wenn Sie ein echtes Gerät verwenden und das Problem immer noch besteht, befolgen Sie diese Schritte, da diese Schritte mir geholfen haben, das Problem zu lösen:

  1. Vergewissern Sie sich, dass sowohl das mobile Gerät als auch der Laptop mit demselben WiFi-Netzwerk verbunden sind.
  2. Vergewissern Sie sich, dass Ihre Ziel-URL eine Portnummer hat, etwa so: https://localhost:44301
  3. führen Sie diesen Befehl im Android Studio Terminal aus, adb reverse tcp:44301 tcp:44301
  4. ersetzen. 44301 mit Ihrem port number

Hoffentlich können Sie ohne Probleme laufen.

Happy codding

1 Stimmen

Vielen Dank dafür, das funktioniert wunderbar. adb reverse tcp:<myport> tcp:<myport>

0 Stimmen

Funktioniert es auf dem Macbook mit angeschlossenem vpn?

0 Stimmen

Probieren Sie es aus, und wenn es nicht klappt, sagen Sie mir Bescheid.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X