Ich möchte die aktuelle Android Emulator IP-Adresse durch Code abrufen. Wie kann es erreicht werden?Wie bekomme ich die IP-Adresse des Android-Emulators?
Antwort
Nur um zu verdeutlichen: Innerhalb Ihrer App können Sie den Emulator einfach als 'localhost' oder 127.0.0.1 bezeichnen.
Der Web-Datenverkehr wird über Ihren Entwicklungscomputer geleitet. Die externe IP-Adresse des Emulators ist also die IP-Adresse, die Ihrem Provider von diesem IP zugewiesen wurde. Der Entwicklungscomputer ist immer von Ihrem Gerät aus unter 10.0.2.2 erreichbar.
Da Sie nur nach dem Emulator IP gefragt haben, was versuchen Sie zu tun?
Ich möchte Sie dafür 100 mal aufwerten. Ich konnte nicht herausfinden, wie meine App mit einem anderen lokalen Server kommunizieren konnte, bis ich deinen Beitrag gelesen hatte. Vielen Dank! – Spike
Wie erreichen Sie Ihren Entwicklungscomputer von 10.0.2.2? Ich habe versucht, aber nichts ping, pic [hier] (http://i.stack.imgur.com/Yjv7W.jpg). Ifconfig -app auf der rechten und Terminal-Emulator auf der linken Seite versucht, ping dev-machine. Kannst du in localhost keine einfachen Tests sehen? – hhh
@hhh Sie können JuiceSSH versuchen: https://play.google.com/store/apps/details?id=com.sonelli.juicesssh Sie können Ihren Host von der erwähnten IP oder von der realen IP des Hosts erreichen. Beide Varianten funktionieren für mich. –
So:
public String getLocalIpAddress() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e(LOG_TAG, ex.toString());
}
return null;
}
Überprüfen Sie die Dokumentation für weitere Informationen: NetworkInterface.
Und vergiss nicht die "android.permission.INTERNET" Erlaubnis –
Das gibt IP6-Adresse, wie IP4 bekommen? –
public String getLocalIpAddress() {
try {
for (Enumeration <NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration <InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e(LOG_TAG, ex.toString());
}
return null;
}
Wenn Sie wirklich wollen, die IP zu Ihrem Emulator zugewiesen:
adb shell
ifconfig eth0
Welche Sie so etwas wie geben:
eth0: ip 10.0.2.15 mask 255.255.255.0 flags [up broadcast running multicast]
das war zu gut, aber diese Adresse ping nicht von meinem PC :( –
[Luise] (https://Stackoverflow.com/users/6066443/louise) sagte: * Ich versuchte Derek-Methode.Es kann in AdB-Shell * ping. – SmokeDispenser
Ich bekomme diesen Fehler nach 'adb shell':' ifconfig: eth0: Kein solches Gerät'eine Idee warum? – awavi
Wenn Sie benötigen, um Ihre Host-Computers localhost verweisen Wenn der Emulatorclient beispielsweise einen Server kontaktieren soll, der auf demselben Host ausgeführt wird, verwenden Sie den Alias 10.0.2.2, um auf die Loopbackschnittstelle des Hostcomputers zu verweisen. Aus der Sicht des Emulators, localhost (127.0.0.1) bezieht sich auf seine eigene Loopback interface.More Details: http://developer.android.com/guide/faq/commontasks.html#localhostalias
Mit dieser Methode können Sie 100% korrekte IP-Adresse für Ihr Android-Emulator
werden immer um die IP-Adresse des yoor Emulator
zum adb Shell und geben Sie folgenden Befehl
adb shell
ifconfig eth0
Nachdem Sie diesen Befehl ausführen Ich erhalte
IP: 10.0.2.15
Mask: 255.255.255.0
was für mich funktioniert. Ich arbeite auch für eine Netzwerkanwendung.
- 1. Wie bekomme ich die ID des Elements
- 2. Wie bekomme ich die PID des Hintergrundprozesses?
- 3. Wie bekomme ich die Methodenaufrufhistorie?
- 4. Wie bekomme ich die Kameraposition?
- 5. Wie bekomme ich die Briefbreite?
- 6. Wie bekomme ich die PID des Elternprozesses meiner Anwendung
- 7. Wie bekomme ich die Breite des tkinter-Widgets?
- 8. Wie bekomme ich die aktuellen Abmessungen des Quarzgeräts in R?
- 9. Wie bekomme ich die Höhe des gtktreewiew Headers?
- 10. Wie bekomme ich die ID des letzten Tweets mit twython?
- 11. systemd: Wie bekomme ich die letzte Änderung des Prozessstatus?
- 12. Wie bekomme ich die IP des Geräts auf React Native?
- 13. Wie bekomme ich die DPI des Bildschirms in QT
- 14. JavaScript - Wie bekomme ich die URL des aufgerufenen Skripts?
- 15. Android: Wie bekomme ich die tatsächliche Bildschirmgröße des Geräts?
- 16. Facebook API - Wie bekomme ich die Adresse des Benutzers, Telefonnummer?
- 17. Wie bekomme ich die nutzbaren Koordinaten des Bildschirms in Delphi
- 18. Ruby - wie bekomme ich die Zeit des Benutzers?
- 19. Wie bekomme ich die Ursache des Ausnahmefehlers von einer AggregatedException
- 20. Wie bekomme ich die Werte des inneren Dokumentattributs in mongoDB?
- 21. Wie bekomme ich die ID des Knotens mit der Anfrage?
- 22. Wie bekomme ich die RESTORED-Grenzen des minimierten Fensters?
- 23. Wie bekomme ich die UIID des Mainboards mit c
- 24. Wie bekomme ich die Startadresse von der Adresse des Mitglieds
- 25. In jQuery, wie bekomme ich die untere Position des Browsers?
- 26. Wie bekomme ich die Mitgliedsserver-Liste des aktuellen Tierpfleger-Clusters
- 27. Wie bekomme ich die Tiefe des aktuellen Knotens in JTree?
- 28. Wie bekomme ich die UDID des iPod/iPhone?
- 29. Chrome Wie bekomme ich die ID des aktuellen Tabs?
- 30. Wie bekomme ich die Ziel-ID des ondrop-Ereignisses?
Vielleicht verwandt [hier] (http://stackoverflow.com/questions/7447221/how-to-connect-to-avd) und [hier] (http://stackoverflow.com/questions/13217796/is- android-avds-firewall-irgendwie-eingeschränkter-zu-real-android-firewall). – hhh
@hhh Zweite Verbindung ist unterbrochen. :) –
@ MuhamedHuseinbašić Ich fühle, dass dieser Thread das Problem im zweiten Thread gelöst, so beschlossen, es zu löschen, um die Dinge einfach zu halten. – hhh