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

Мое действие должно связаться с сервером Java, расположенным на моей dev машине. На самом деле, с помощью эмулятора, я могу получить доступ к сокету сервера через специальные 10.0.2.2 адреса. Теперь я хотел бы протестировать свое приложение по моему телефону, подключенному через usb, но кажется, что я не могу использовать 10.0.2.2 для доступа к моей dev машине localhost больше. Естественно использование маршрутизатора Wi-Fi и надлежащего обращения LAN добивается цели, но я должен использовать соединение USB вместо этого. Какая-либо подсказка?

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

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

  • стандартный сервер Java, работающий на моем ПК @localhost:15000
  • андроид клиент Java, работающий на моем эмуляторе.

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

2. Надлежащий сценарий Wi-Fi с физическим подключенным устройством:

  • стандартный сервер Java, работающий на моем ПК @192.168.1.10:15000.
  • андроид клиент Java, работающий на моем устройстве с 192.168.1.11 присвоенными адресами.

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

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

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

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

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

12
задан a.bertucci 26 March 2010 в 17:45
поделиться

2 ответа

Похоже, что нет способа позволить сценарию №3 работать должным образом, потому что USB-соединение не является настоящим сетевым соединением, и с ним не связан IP-адрес Телефон.

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

3
ответ дан 2 December 2019 в 23:51
поделиться

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

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

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

0
ответ дан 2 December 2019 в 23:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: