Доступ к dev машине localhost через usb

Моя активность должна связываться с java-сервером, расположенным на моей машине dev. Фактически, используя эмулятор, я могу получить доступ к сокету сервера через специальный адрес 10.0.2.2. Теперь я хотел бы протестировать мое приложение на моем телефоне, подключенном через usb, но похоже, что я не могу использовать 10.0.2.2 для доступа к моему файлу localhost. Естественно, использование wifi-маршрутизатора и правильная локальная адресация делают трюк, но вместо этого мне нужно использовать USB-соединение. Любой намек?

редактировать:
Просто добавили разные сценарии, чтобы все понимали лучше:

1. Эмуляторный сценарий:

  • Стандартный java-сервер, запущенный на моем компьютере @localhost: 15000
  • Android java клиент, работающий на моем эмуляторе.

Когда приложение андроида должно связаться с сервером, оно использует 10.0.2.2:15000, как указано здесь . Все работает нормально.

2. Правильный сценарий wifi с подключенным физическим устройством:

  • Стандартный java-сервер, запущенный на моем компьютере @ 192.168.1.10: 15000.
  • Android-клиент javascript на моем устройстве с адресом 192.168.1.11.

Когда приложение андроида должно связаться с сервером, оно использует 192.168.1.10:15000, и все работает отлично.

3. Желаемый сценарий:

  • Стандартный java-сервер, запущенный на моем компьютере @localhost: 15000.
  • Android-клиент java, работающий на моем устройстве, подключенном через USB-кабель. Сеть не активна.

Когда приложение андроида должно связаться с сервером, оно пытается подключиться к 10.0.2.2:15000, но вместо этого генерируется исключение (Network unreachable). Кажется, что специальный адрес 10.0.2.2 работает только для экземпляров эмулятора.

Мне просто интересно, есть ли в пакете adb / adt доступ к адресу ПК с устройства, подключенного через USB-кабель. Надеюсь, теперь это станет более ясным. Благодарю.

Solutions Collecting From Web of "Доступ к dev машине localhost через usb"

Похоже, что сценарий №3 не позволяет работать должным образом, потому что соединение usb не является реальным сетевым подключением, и нет телефона, связанного с ним по телефону.

На самом деле мое решение заключается в использовании специального соединения wifi между моим телефоном и моим компьютером. Этот сценарий похож на # 2, но без маршрутизатора или dhcp. К сожалению, мой герой не может обрабатывать специальные подключения из-за этой проблемы . Поэтому я должен был запустить мое устройство и вручную изменить какой-либо скрипт конфигурации. Я надеюсь, что такие функции могут быть доступны в следующих выпусках.

Вы можете настроить подключение к вашему телефону через USB с вашего компьютера, но вам нужно перейти adb forward . Тем не менее, я не думаю, что вы можете маршрутизировать по-другому вокруг usb: настройка соединения с телефоном на ПК.

Вы могли бы подключить свой компьютер к телефону и проверить, какой IP-адрес он имеет.

Подумав об этом, я понял, что с помощью adb forward вы должны использовать localhost качестве своего хоста, поэтому, возможно, вы также можете сделать это на своем телефоне: adb forward порт, который вы хотите использовать, и на свой телефон, подключиться к этому порту на localhost ,