Андроид подключается к локальному ПК, когда отладчик на мобильном устройстве

Я хочу отлаживать приложение для Android, я подключаю устройство Android к своему компьютеру с помощью USB-кабеля. В моем приложении есть кнопка для подключения к localhost, ip для localhost - 10.0.2.2, а порт - 8080, я прочитал, что при отладке на мобильном телефоне ip 10.0.2.2 является локальным хостом для Android-устройства, а не для мой компьютер, так какие изменения я должен сделать для ip вместо 10.0.2.2? или мне нужно сделать другое изменение? В этом случае мое устройство Android sony ericsson xperia arc s.

Ответ 1

Как 10.0.2.2 - ваш локальный адрес хоста вашей системы (ПК) (только от эмулятора). На самом деле андроид не распознал localhost в URL-адресе. поэтому для 10.0.2.2. Также для адреса обратной связи устройства Android 127.0.0.1.

Ваш URL-адрес с 10.0.2.2 верен. Также вы можете использовать Статический IP вашей системы.

Просто проверьте

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

в файле манифеста приложения.

EDIT:

Здесь вы используете порт 8080, поэтому попробуйте с командой adb на хост-машине.

adb forward tcp:8080 tcp:8080

Также проконсультируйтесь с этой строкой "Я хочу отлаживать свое приложение на своем мобильном устройстве" .

Примечание:

Если вы собираетесь тестировать на реальном устройстве, используйте Сетевой IP системы (ПК).

Ответ 2

Google добавила поддержку в Chrome 29 и выше для использования переадресации обратного порта для доступа к веб-сайту, размещенному на вашей локальной машине разработки через кабель USB в Chrome для Android. Инструкции по установке можно найти по следующему URL-адресу:

Как и на рабочем столе Chrome 30 Reverse Port Forwarding больше не является экспериментальной функцией в Chrome. Доступ к ней можно получить, набрав about:inspect в адресной строке вашего ПК и нажав кнопку "Включить переадресацию портов" и нажав кнопку "Настроить перенаправление портов", расположенную в правом верхнем углу окна.

Как только это будет сделано, подключите мобильное устройство через USB. Откройте Chrome на своем мобильном устройстве на localhost:8000 (или любой порт, который вы настроили на локальном сервере).

Функция переадресации переадресации почты гарантирует, что ваше устройство Android теперь увидит ваш ПК localhost.

Ответ 3

Для этого вам нужно внести некоторые изменения на свой сервер xampp... Назначьте 1 статический IP-адрес в свою систему, а затем вам нужно поставить ваш сервер xampp в онлайн-режиме. после этого вы можете использовать этот IP-адрес в своем приложении для Android, а не 10.0.2.2. Работает отлично для меня, поскольку я использую свой localhost с моим андроидным приложением.

Ответ 4

Вы можете поделиться своим интернет-соединением Mac через Wi-Fi. Затем ваше приложение Android может подключаться к сервлету, работающему на Mac с HTTP через Wi-Fi. Шаги:

  • Запустить системную настройку на Mac
  • Перейдите на вкладку "Совместное использование".
  • Включите "Интернет-доступ"
  • Выберите "Ethernet" в разделе "Поделиться своим соединением из"
  • Выберите "Wi-Fi" в списке "К компьютерам"
  • Используйте кнопку "Wi-Fi Options..." для настройки безопасности Wi-Fi. Теперь ваш Mac - это Wi-Fi-сервер, и он использует Ethernet-подключение к сети Ethernet.
  • Настройте Android-устройство Wi-Fi для подключения к Mac (в настройках)
  • На вашем Mac перейдите на вкладку "Сеть" в "Системные настройки" и выберите список Wi-Fi в списке, чтобы узнать IP-адрес вашего Mac в сети Wi-Fi (для меня это было 169.254.66.223).
  • В своем Android-приложении теперь вы можете подключиться к сервлету на своем Mac с помощью "http://169.254.66.223:8080/YourServer/YourServlet"