2013-03-27 2 views
1

Я запускаю код Android в эмуляторе Android на ПК. Я хочу, чтобы получить локальный IP-адрес компьютера в моем Android кода, не уверен, возможно ли это ...Получить локальный IP-адрес ПК в Android

Я проверил следующие после how to get ip address of pc in android emulator through code Но похоже, что это может только дать мне внешний IP адрес ПК.

Спасибо.

+0

Просто запустите ifconfig в терминале машины dev и обратите внимание на адрес 192.x.x.x или 10.x.x.x. –

ответ

0

Как правило, устройство или эмулятор Android следует рассматривать как отдельный компьютер с вашего компьютера разработки.

Это означает, что если вы хотите подключиться к локальному компьютеру с помощью эмулятора/устройства Android, то здесь вам доступны 2 варианта.

  1. Используйте внутренний DNS, который указывает имя на локальном компьютере, вы можете даже использовать это переопределить «живой» URL, если это то, что вы хотите.

  2. Используйте BuildConfig.DEBUG флаг или похожие механика для переключения между живыми и отладки URL-адресов/ресурсов

например, Для переключения между живым URL, когда я экспортом и отладками при тестировании я использую:

public final class MyAppConstants 
{ 
    // url base for all requests to my API 
    public static final String BASE_URL; 

    // auto-switch between live and debug urls based on usage 
    static 
    { 
     if (BuildConfig.DEBUG) 
     { 
      URL_BASE = "http://debug.server.com/"; 
     } 
     else 
     { 
      URL_BASE = "http://live.server.com/"; 
     } 
    } 
} 
0

Вы можете проверить my own answer here для проверки маршрутов к различным устройствам, доступные для вашего Android экземпляра эмулятора:

Хост-машина может быть достигнута с использованием IP-адреса 10.0.2.2 от эмулятора .

Эти IP-адреса, как добраться от эмулятора:

  • 10.0.2.1, маршрутизатор/адрес шлюза.
  • 10.0.2.2, специальный псевдоним для вашего петлевого интерфейса хоста (т.е. 127.0.0.1 на вашей машине)
  • 10.0.2.3, первый DNS-сервер
  • 10.0.2.4/10.0.2.5/10.0.2.6, Дополнительный второй, третий и четвертый сервер DNS (если любой)
  • 10.0.2.15, собственный интерфейс сети/Ethernet эмулируемая устройства
  • 127.0.0.1, собственный интерфейс обратной эмулируемая устройства

Полный список инструкций приведен в документации на Android по адресу «Emulator Networking».

Смежные вопросы