Как получить IP-адрес эмулятора Android?
Я хочу, чтобы в настоящее время работает Эмулятор Android'ы IP-адрес через код.
Как этого можно достичь?
6 ответов:
просто чтобы уточнить: из вашего приложения вы можете просто обратиться к эмулятору как "localhost" или 127.0.0.1.
веб-трафик маршрутизируется через вашу машину разработки, поэтому внешний IP-адрес эмулятора-это любой IP-адрес, назначенный этому компьютеру вашим поставщиком. Машина разработки всегда может быть доступна с вашего устройства в 10.0.2.2.
Так как вы спрашивали только о IP эмулятора, что ты пытаешься сделать?
Если вы действительно хотите, чтобы IP был назначен вашему эмулятору:
adb shell ifconfig eth0, который даст вам что-то вроде:
eth0: ip 10.0.2.15 mask 255.255.255.0 flags [up broadcast running multicast]
такой:
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; }проверьте документы для получения дополнительной информации: NetworkInterface.
используйте этот метод, вы получите 100% правильный ip-адрес для вашего эмулятора android
чтобы получить ip-адрес yoor emulator
перейдите в оболочку adb и введите эту команду
adb shell ifconfig eth0
после выполнения этой команды я получаю
IP: 10.0.2.15
маска : 255.255.255.0
, который работает для меня . Я также работаю в сети приложение.
Если вам нужно обратиться к локальному хосту вашего компьютера, например, когда вы хотите, чтобы клиент эмулятора связался с сервером, работающим на том же хосте, используйте псевдоним 10.0.2.2 для обращения к интерфейсу обратной связи главного компьютера. С точки зрения эмулятора, localhost (127.0.0.1) относится к своему собственному интерфейсу обратной связи.Подробнее:http://developer.android.com/guide/faq/commontasks.html#localhostalias
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; }

Comments