Я попробовал раннее решение, которое дал вам, но оно не сработало. Как вы сказали, возможно, причина в том, что команда redir консоли эмулятора перенаправляет только пакеты, приходящие с локального хоста.
Итак, я искал простой прокси-сервер и использовал его на той же машине, чтобы проверить его.
http://www.java2s.com/Code/Java/Network-Protocol/Asimpleproxyserver.htm
При этом я использовал следующую конфигурацию:
на прокси:
String host = "localhost";
int remoteport = 3000;
int localport = 4000;
Затем запустите экземпляр эмулятора:
- Прослушивание сокета сервера через порт 2000.
- Откройте экземпляр telnet и введите «redir add tcp: 3000: 2000»
И, наконец, на реальном устройстве откройте сокет с адресом машины на порту 4000.
Итак, карта сети выглядит так:
Устройство <-> машина: 4000 Прокси-машина: 3000 <->: 3000 Эмулятор: 2000 -> Приложение
Это сработало для меня, используя одно и то же приложение на устройстве и эмуляторе.