Возможно, вы уже знаете это.Начиная с android-sdk-tools_r7, по крайней мере, должно быть возможно соединить два эмулятора друг с другом.Работает ли между физическими машинами, я не знаю.Может быть возможно настроить маскирование между двумя хостами для этой конкретной трансляции.
С android commit
Включить соединение эмуляторов
Этот патч добавляет опцию -shared-net-id к эмулятору, который присоединяется к эмулятору в общей сети.Если опция указана, эмулятор запускается с дополнительным сетевым интерфейсом, связанным с многоадресным сокетом.Этот многоадресный сокет эмулирует сетевой концентратор, соединяя эмуляторы.Если опция -shared-net-id не указана, ничего не меняется.
Чтобы соединить два эмулятора, используйте параметр командной строки -shared-net-id <number>
при запуске эмулятора.Затем они будут напрямую обмениваться всем, что отправлено или прочитано с ip 10.1.2.<number>
на эмуляторе.
Другой подход - включить переадресацию портов между эмуляторами с использованием adb, а затем настроить маскировку для этих портов в сетимашины.
Я не совсем уверен, что любое из этих решений соответствует сценарию использования, о котором вы просите.Если нет, добавление дополнительных деталей к исходному вопросу может помочь.:)
Отказ от ответственности: я не пробовал первый подход, а второй я использовал только для того, чтобы убедиться, что эмулятор может обойти неприятный корпоративный брандмауэр и HTTP-прокси, чтобы мы могли протестировать браузер Android.Принцип должен быть здравым.
Обновление: Нет, я много играл с ним и не нашел хороших решений.Я не достаточно хорош в iptables, чтобы настроить действительный туннель таким образом, чтобы он работал на стороне сервера.
С уважением,
Микаэль