Ответ 1
Я думаю, вы хотите 10.0.2.2. Ознакомьтесь с документацией для Android Emulator Networking: https://developer.android.com/studio/run/emulator-networking.html
У меня есть обычная простая java-программа, работающая как сервер, ожидающая подключения клиента к TCP.
В другом проекте eclipse я создаю приложение для Android. Это приложение должно связаться с java-программой, запущенной на главной машине, для получения сообщения.
Я не могу просто использовать "localhost" для связи с сервером, потому что, предположительно, эмулятор работает за виртуальным маршрутизатором, и я получаю доступ к "телефонной" сети вместо сети хост-машины.
Итак, какой ip следует использовать для связи с машиной разработки хоста?
Аппарат - это linux, работающий на VirtualBox с Ip 10.0.0.5. Я попытался использовать этот ip на эмуляторе, но даже не могу установить соединение.
Я думаю, вы хотите 10.0.2.2. Ознакомьтесь с документацией для Android Emulator Networking: https://developer.android.com/studio/run/emulator-networking.html
Я считаю, что вам нужно включить переадресацию портов, чтобы использовать какое-либо сетевое соединение в эмуляторе. Вы можете сделать это с помощью инструмента adb
. Подробнее см. Руководства для разработчиков Android.