Intereting Posts
Не удалось прочитать строку 1, столбец -1 из CursorWindow. Перед доступом к данным убедитесь, что курсор инициализирован правильно Мобильное приложение HTML5 работает, когда экран телефона выключен? Примеры проектов MVVM для Android OpenCV 2.4.1: UnsatisfiedLinkError Кордова Android дублирует функции использования двух плагинов Android Polymorphism: Anti-Pattern? Android studio: выражения lambda не поддерживаются в -7 (используйте источник 8 или выше для включения лямбда-выражений) Экран мерцает при работе на Android 4.2. (Активность перезапускается непрерывно) Как сделать полноэкранный просмотр в Интернете Как сделать обычные ссылки в TextView доступными? Собственный доступ для камеры Android: startPreview () vs startRecording () Почему VoiceListener на основе Glass / GDK только захватывает VoiceCommand один раз в XE16? Как разобрать ответ Json в андроиде? Android RelativeLayout изменит цвет onClick Как создается действие Android (используя отражение)?

Как я могу получить доступ к моему локальному хосту с моего устройства Android?

Я могу получить доступ к моему ноутбуку веб-сервер с помощью эмулятора Android, я использую 10.0.2.2:portno работает хорошо.

Но когда я подключаю свой настоящий Android-телефон, браузер телефона не может подключиться к тому же веб-серверу на моем ноутбуке. Телефон подключен к ноутбуку с помощью USB-кабеля. Если я запустил команду adb devices, я могу видеть свой телефон.

Что мне не хватает?

Solutions Collecting From Web of "Как я могу получить доступ к моему локальному хосту с моего устройства Android?"

USB не обеспечивает сеть для мобильного устройства.

Если ваш рабочий стол и телефон подключены к одному и тому же WiFi (или любой другой локальной сети), используйте IP-адрес вашего рабочего стола, назначенный маршрутизатором (не localhost а не 127.0.0.1 ).

Чтобы узнать IP-адрес вашего рабочего стола:

  • Введите в командной строке ipconfig (Windows) или ifconfig (Unix)
  • Там будет куча IP-адресов
  • Попробуйте все из них (за исключением упомянутого локального localhost и 127.0.0.1 )

Если ваш телефон подключен к мобильной сети , все будет сложнее.

Либо хардкор:

  • Сначала узнайте внешний IP-адрес вашего маршрутизатора ( https://www.google.de/search?q=myip )
  • Затем на маршрутизаторе переместите какой-либо порт на <your desktop IP>:<server port number>
  • Наконец, использовать внешний IP-адрес и перенаправленный порт

В противном случае используйте что-то вроде xip.io или ngrok .

Это очень просто.

Включите Wifi Hotspot вашего телефона Android / маршрутизатора и подключите свой ноутбук к своему телефону.

Запустите свой сервер на localhost (я использую wamp-сервер)

Теперь откройте командную строку и введите команду ipconfig, вы получите следующие вещи:

 Wireless LAN adapter Wireless Network Connection: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::80bc:e378:19ab:e448%11 IPv4 Address. . . . . . . . . . . : **192.168.43.76** Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.43.1 

Скопируйте этот 192.168.43.76 в свой мобильный браузер.

Примечание. Установите свою сеть как «Домашняя сеть». Настройка домашней сети означает, что ваш компьютер может делиться вещами с другими устройствами в одной сети. Если вы используете Windows 10, перейдите в WiFi> Свойства сети текущей сети> Сделайте этот ПК доступным для просмотра.

На компьютере с ОС Windows Вам может не потребоваться ничего, кроме определения вашего IPv4-адреса с помощью команды «ipconfig».

  • Шаг 1. Подключите телефон к ПК с помощью USB-кабеля.
  • Шаг 2. Используйте команду ipconfig, чтобы узнать ваш IPv4-адрес (внешний IP-адрес маршрутизатора), например 192.168.1.5, в моем случае.
  • Шаг 3: Просто войдите в браузер 192.168.1.5:8080. Оно работает !

Другие сведения об Env: Windows 7, Google Nexus 4 (4.2.2), Tomcat Server, приложение Grails.

Вы также должны убедиться, что у вас есть разрешение на доступ к Интернету в файле AndroidManifest:

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

Я нашел быстрое решение этой проблемы. Попробуйте эту ссылку . Это должно помочь вам устранить проблему.

Я только изменил одну вещь, где в учебнике указано, что вы меняете «127.0.0.1» на «Все», измените его на IP-адрес, на котором работает ваш сервер.

После этого вы сможете подключиться к локальному хосту.


Ниже приведена (исправленная) копия информации со связанной страницы:

Шаг 1

Установите Wamp-сервер (или любой другой, который вы предпочитаете).

Это один из лучших серверов, которые я знаю для настройки локального сервера. Если вы установили Apache или любой другой сервер, проигнорируйте этот шаг.

Загрузите и установите Wamp Server здесь.

Шаг 2

Добавьте новое правило для порта 80 в брандмауэре Windows.

  1. Откройте панель управления и выберите Брандмауэр Windows.

  2. Выберите «Дополнительные параметры» на левой панели страницы настроек брандмауэра Windows.

  3. Выберите «Входящие правила» на левой панели, затем выберите «Новое правило».

  4. Выберите «Порт» и нажмите «Далее».

  5. Выберите переключатель «Конкретные локальные порты» и введите 80 в качестве значения порта.

  6. Keep Разрешите подключение без изменений и перейдите к следующему шагу.

  7. Не изменяйте параметры профиля и нажмите «Далее».

  8. Дайте какое-нибудь красивое имя вашему новому правилу и нажмите «Готово».

Это обеспечит доступ порта 80 к IP-сети локальной сети.

Шаг 3

Отредактируйте файл httpd.conf сервера Wamp, чтобы исправить ошибку 403.

Нам нужно отредактировать этот файл. В противном случае мы получим 403 запрещенную ошибку при доступе к локальному хосту через IP локальной сети.

  1. Нажмите на значок лотка сервера Wamp.

  2. Откройте подменю сервера Apache.

  3. Выберите httpd.conf.

  4. Найдите этот раздел конфигурации в файле httpd.conf:

     Directory “c:/wamp/www/” # # Possible values for the Options directive are “None”, “All”, # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that “MultiViews” must be named *explicitly* — “Options All” # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be “All”, “None”, or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride all # # Controls who can get stuff from this server. # # onlineoffline tag – don't remove Order Deny,Allow Deny from all Allow from 127.0.0.1 

Найдите и замените «127.0.0.1» на «Все», сохраните файл и перезапустите Wamp-сервер.

Шаг 4

Найдите IP-адрес вашей локальной сети.

  1. Откройте командную строку.

  2. Введите и введите команду ipconfig .

  3. В моем случае мой адрес локальной сети – 10.0.0.2.

Это IP-адрес, который вам нужен для доступа к вашему локальному хосту на вашем телефоне Android через Wi-Fi. Чтобы проверить, работает ли он, введите этот IP-адрес в браузере вашего рабочего стола, где установлен ваш локальный сервер. Браузер должен успешно отобразить вашу страницу локального хоста. Это гарантирует, что этот IP-адрес локальной сети теперь успешно доступен на вашем телефоне Android.

Надеюсь, этот учебник поможет вам получить доступ к вашему локальному хосту через Wi-Fi.

Пользователи mac osx

У меня был успех, позволяя удаленное управление:

  1. Убедитесь, что ваш phone and laptop are connected to the same wifi network
  2. На mac, перейти к system preferences/sharing
  3. enable remote management

Вы увидите сообщение, подобное этому

Другие пользователи могут управлять вашим компьютером, используя адрес some.url.com

На вашем устройстве Android вы должны теперь нажать some.url.com , который делегирует localhost на ваш Mac. Вы также можете использовать ifconfig для получения ip вашего macbook


Альтернативное решение с прокси-сервером nginx

Если вы используете что-то вроде этого через nginx proxy_pass, это потребует немного более тонкой настройки – это хакерский подход, но он работает для меня, и я открыт для предложений по его улучшению:

  • Включить дистанционное управление (как указано выше)
  • Временно установить сервер для прослушивания на порту 81 а не на 80
  • sudo nginx -s reload
  • Посетите http://youripaddress:81

“ `

 server { listen 80; listen 81; # <-------- add this to expose the app on unique port server_name ~^(local|local\.m).example.com$; ... } 

Перезагрузите и посетите http://youripaddress:81

Поскольку это старый вопрос, есть новый способ сделать это, что действительно очень просто. Загрузите расширение ADB Chrome и следуйте этим инструкциям:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging

Однако есть гораздо лучшее решение. Вы можете получить доступ к своей главной машине с IP-адресом «10.0.2.2». Это было разработано таким образом командой Android. Таким образом, ваш веб-сервер может отлично работать на локальном хосте и с вашего приложения для Android, вы можете получить к нему доступ через «http://10.0.2.2:8080&#xBB;.

Возможно, ваш веб-сервер прослушивает интерфейс loopback, а не ваш сетевой интерфейс. Основные признаки этого:

  • Хиты на 127.0.0.1 и localhost (от локального или Android-эмулятора) работают
  • Хиты на 192.168.xxx.xxx не работают, будь то из localhost, LAN или WAN

Я больше об этом рассказываю и фиксирую это в ответе.

Запуск CMD в качестве администратора

И на экране CMD типа ipconfig, и экран появится с текстом

Как эта фотография Введите описание изображения здесь

И вы можете получить доступ к своему локальному хосту, используя этот ip, который вы должны подключить к той же сети, что и ваш компьютер, подключенный к

«Переадресация портов в Chrome для Android позволяет легко протестировать ваш сайт разработки на мобильных устройствах, он работает, создавая прослушивающий TCP-порт на мобильном устройстве, который сопоставляется с определенным TCP-портом на вашей машине разработки. Трафик между этими портами проходит через USB, Поэтому подключение не зависит от вашей конфигурации сети ».

Подробнее здесь: https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding

Попробуйте перейти к этому файлу: C:\wamp\bin\apache\Apache2.2.11\conf\httpd.conf

 # onlineoffline tag - don't remove Order Deny,Allow Allow from all // change it Deny Allow from 127.0.0.1 

И измените 10.0.2.2 на ваш IP-адрес.

Я использовал этот процесс:

  • Установите Fiddler на ПК
  • Настройте ПК и устройство Android, следуя этим превосходным инструкциям
  • Просто перейдите в браузер на устройстве Android и введите http: //ipv4.fiddler для доступа к локальному хосту

Обратите внимание, что для этого процесса вам необходимо изменить настройки WiFi на устройстве Android в начале и в конце каждого сеанса. Я обнаружил, что это менее болезненно, чем укоренение моего устройства Android.

Прежде всего сделайте свой компьютер (где работает сервер) IP-адрес статический. Введите этот статический IP-адрес в коде Android. Затем перейдите к интерфейсу вашего Wi-Fi маршрутизатора и проверьте левую панель. Вы увидите такую ​​опцию, как переадресация / переадресация портов. Нажмите на него и перейдите на порт 80. Теперь отредактируйте файл htttpd.conf и отредактируйте его для

Разрешить от всех

, Перезагрузите сервер. Теперь все должно работать нормально.

Кроме того, вы можете зарезервировать IP-адрес своего устройства, чтобы он всегда был выделен вам. В левой панели интерфейса вашего маршрутизатора найдите DHCP -> Address Reservation , щелкните по нему. Введите MAC-адрес вашего компьютера и IP-адрес, который вы ввели в код. Нажмите «Сохранить». Это зарезервирует данный IP-адрес для вашего устройства.

Решение для подключения моего мобильного устройства к моему серверу wamp на базе моего ноутбука:

Во-первых, Wi-Fi не является маршрутизатором. Поэтому, чтобы подключить мое мобильное устройство к моему серверу wamp на основе localhost на моем ноутбуке, мне нужен маршрутизатор. Я загрузил и установил бесплатный виртуальный маршрутизатор: https://virtualrouter.codeplex.com/

Настройка его очень проста:

  1. Щелкните правой кнопкой мыши значок виртуального маршрутизатора в системном трее
  2. Нажмите «Настроить виртуальный маршрутизатор»
  3. Введите пароль
  4. Если ваше интернет-соединение находится в сети Ethernet, выберите Общее соединение: Ethernet
  5. Затем установите Wi-Fi на свой ноутбук и устройство
  6. На устройстве подключитесь к имени виртуальной сети маршрутизатора

Затем вы можете подключиться к ноутбуку через ваше устройство, запустив браузер и заполнив адрес IPV4 вашего ноутбука (чтобы найти его на окнах, введите cmd: ipconfig и найдите ipv4-адрес)

Вы должны увидеть домашнюю страницу вашего сервера.

Ngrok позволяет помещать ваш localhost на временный сервер и очень прост в настройке. Здесь я привел несколько шагов, которые можно найти в ссылке:

  1. Загрузите ngrok zip из ссылки выше
  2. Открыть почтовый индекс
  3. Запустите сервер локально и обратите внимание на номер порта
  4. В терминале перейдите в папку, где живет ngrok, и введите ngrok http [port number]

Вы увидите небольшую панель мониторинга в своем терминале с адресом, указывающим на ваш локальный хост. Направьте приложение на этот адрес и создайте его на своем устройстве.

Хотя один ответ был принят, но это сработало для меня:

  1. Убедитесь, что ваш компьютер и устройство Android находятся в одной сети.
  2. Получить IP-адрес вашего компьютера. (В случае типа mac ifconfig внутри терминала и поискать en0/en1 -> inet он должен быть чем-то вроде 19*.16*.1.4 .) (На окнах используйте `ipconfig)
  3. Откройте свои настройки мобильного телефона и перейдите в сеть -> долгое время нажмите Wi-Fi-сеть -> измените сеть -> прокрутите вниз до расширенных параметров -> выберите прокси-руководство, а в прокси-хосте введите свой адрес, т.е. 19*.16*.1.4 внутренний порт введите свой порт. И сохранить его.

  4. Найдите, what is my ip в google chrome, и получите ваш ip, скажем, что это 1**.1**.15*.2**

  5. Попробуйте получить доступ к 1**.1**.15*.2**:port/ с вашего мобильного устройства.

Это так просто.

Это то, что сработало для меня, я добавил еще одну строку после 127.0.0.1 ip, чтобы указать точный IP-адрес локальной сети (а не общедоступный IP-адрес) устройства, которое я хотел использовать. В моем случае Samsung Galaxy S3

Как предложил Bangptit, отредактируйте файл httpd.conf (x – номера версий): C: \ wamp \ bin \ apache \ Apache2.xx \ conf \ httpd.conf

Найдите тег онлайн-оффлайн и добавьте ip вашего телефона (я нашел IP-адрес телефона на страницах конфигурации маршрутизаторов):

Тег онлайнффлайн – не удалять

  Order Deny,Allow Deny from all Allow from 127.0.0.1 

Мои телефоны ip в строке ниже

  Allow from 192.168.1.65 Allow from ::1 Allow from localhost 

Можно было бы расширить это, включив в него весь дополнительный домен, например, 192.168.1.0/24 и т. Д.

Прежде всего, подключите свой телефон и компьютер к общему Wi-Fi.

Затем откройте командную строку, запустив ее как администратора

Дать команду ipconfig

Что показывает беспроводной LAN IP

Используйте ip: порт вашего сервера для доступа к телефону

Использование USB-кабеля:

(Например, если вы используете WAMP-сервер):

1) Установите свои Android-драйверы на свой компьютер и загрузите портативный Android Tethering Reverse Tool и подключите свое Android-устройство через приложение Reverse Tool .

2) Нажмите значок WAMP> Поставить в сеть (после перезапуска).

3) Откройте свой IP-адрес в браузере Android (например, http://192.168.1.22 ИЛИ http://164.92.124.42 )

Чтобы найти локальный IP-адрес, нажмите « Пуск»> «Выполнить»> «cmd» и введите ipconfig, и ваш IP-адрес появится на выходе.

Это все. Теперь вы можете открыть (открыть) localhost с Android.

Используйте connectify и xampp или эквивалент, и введите ip-адрес в строке URL для доступа к URL

Лично я не настаиваю на использовании localhost при использовании устройства, нет простого решения.

Просто запустите действие, в котором вы подключаетесь к localhost, где вы можете использовать эмулятор. Любая информация, которую вы можете получить с устройства, может быть сгенерирована с легкостью и может быть отправлена ​​на активность в качестве параметра.

Что сработало для меня (цель: отладить приложение сервера Windows, запущенное на localhost: 99999 из клиентского приложения, работающего на Android-телефоне)

  1. Телефон и компьютер, подключенные к одной сети, например 192.168.1.xxx (подключенные через Wi-Fi в моем случае)
  2. Включить порт 99999 в брандмауэре Windows
  3. Запустить в cmd как администратор: netsh http add urlacl url = http: // *: 99999 / user = Everyone

Затем с телефона был доступен URL-адрес сервисного приложения (my_dev_machine_ip: 99999 / path_to_service).

Добавление решения для будущих разработчиков.

Скопируйте адрес своего ip-адреса. Щелкните правой кнопкой мыши по вашей сети -> сеть и общий доступ -> щелкните по соединению, которое у вас есть в настоящее время, -> details->, тогда адрес рядом с адресом ipv4 – ваш IP-адрес, обратите внимание на это где-то

Перейдите в панель управления -> система и безопасность -> брандмауэр Windows -> расширенные настройки -> входящие правила -> новые правила (следуйте инструкциям по добавлению порта, например, 80, его действительно просто следовать)

Поставьте свой IP-адрес, указанный в браузере телефона, и номер порта, который вы создали для него. Например 192.168.0.2:80 и wala.

Возможное решение, если оно не подключено. Щелкните правой кнопкой мыши network-> open network and sharing-> в режиме просмотра ваших активных подключений под именем вашего соединения по типу подключения и нажмите на него, если он является общедоступным, и не забудьте изменить его в домашней сети.

Был запутан в эту проблему, используя несколько разных локальных серверов. Наконец, мое приложение заработало на телефоне за считанные секунды, просто используя простой сервер Python. Это займет всего несколько секунд, поэтому стоит попробовать, прежде чем вступать в более сложные решения. Во-первых, убедитесь, что у вас установлен Python. cmd+r и введите python для Windows или $ python --version в терминале mac.

Следующий:

 cd <your project root> $ python -m SimpleHTTPServer 8000 

Затем просто найдите адрес хост-машины в сети, я использовал « System Preferences/Sharing на Mac, чтобы найти его. Коснитесь этого на своем Android-устройстве и загрузите index.html и вы должны быть хорошими.

Если нет, то проблема – это что-то еще, и вы можете захотеть изучить некоторые из других предлагаемых решений. Удачи!

* РЕДАКТИРОВАТЬ *

Еще одним быстрым решением, если вы используете Chrome, является расширение веб-сервера для Chrome. Я нашел его быстрым и супер простым способом получить доступ к локальному хосту на моем телефоне. Просто не забудьте проверить Accessible to local network разделе « Options и он должен работать в вашей камере без каких-либо проблем.

Введите описание изображения здесь

Его очень простая, – Командная строка GOTO (Window + R [тип cmd]) – введите ipconfig, который покажет текущий IP-адрес вашего ПК – напишите IP-адрес taht в браузере Android Phone: 80 eg ( http: // 192.168.xx: 80 )

Готово

Localhost появится на вашем телефоне