Mam urządzenie z Androidem (karta Samsung Galaxy) podłączone do mojego komputera przez USB.
Chcę korzystać z usług sieci Web i uruchomić stronę internetową, która znajduje się na moim lokalnym serwerze Xampp na moim komputerze z systemem Android.
Mogę to osiągnąć, jeśli mam zarówno komputer, jak i urządzenie z Androidem, podłączone do tej samej sieci bezprzewodowej.
Jednak jest możliwy dostęp do strony localhost bez połączenia bezprzewodowego, używając tylko połączenia USB.
(PS: ten sam scenariusz działa, gdy uruchamiam aplikację na emulatorze i używam adresu IP 10.0.2.2, aby uzyskać dostęp do hosta lokalnego na moim komputerze)
Odpowiedzi:
W końcu rozwiązałem ten problem. Korzystałem z Samsunga Galaxy S z Froyo. „Port” poniżej to ten sam port, którego używasz dla emulatora (10.0.2.2:port). Co ja zrobiłem:
http://192.168.x.x:port/test.php
Teraz powinno działać.
źródło
Google opublikował rozwiązanie dla tego rodzaju problem tutaj .
Kroki:
3333
w lewej części, wpisujeszlocalhost:5000
i klikasz dodaj regułę.źródło
chrome://inspect/#devices
w chrome i przejdź do kroku przekierowania portów w odpowiedzi.ERR_EMPTY_RESPONSE
powrotem z Chrome na urządzeniu ... aż w końcu zdałem sobie sprawę, że nie mam swojego serwera localhost na moim komputerze i że nie ma co faktycznie połącz się z! No! Uruchomiłem serwer (w tym przypadku Apache) i wszystko od razu zaczęło działać. Pierwszym ważnym krokiem jest upewnienie się, że serwer docelowy faktycznie działa przed skonfigurowaniem przekierowania portu.Czytałem wiele forów i próbowałem grać w aplikacje, ale do tej pory nie znalazłem rozwiązania.
Uważam, że mój scenariusz jest podobny do twojego, ale wyjaśnię, aby pomóc innym. Mam lokalnie hostowaną witrynę internetową i usługi internetowe, z których może korzystać moja aplikacja na Androida. Muszę mieć to działające w trasie do demonstracji tylko z moim laptopem i bez połączenia sieciowego.
Uwaga: Używanie mojego iPhone'a jako hotspotu Wi-Fi i łączenie zarówno mojego komputera, jak i urządzenia z Androidem działało, ale połączenie iPhone'a 4S jest powolne i regularnie przerywało.
Moje rozwiązanie jest następujące:
http://192.168.1.1/myWebSite
źródło
Oto fragment kodu mojej aplikacji na Androida:
Ta aplikacja jest w stanie komunikować się z modelem pobierania postów HTTP między serwletem działającym na serwerze a urządzeniem z Androidem podłączonym w trybie debugowania USB ( ponieważ aplikacja była w trakcie opracowywania ).
Mogę również uruchomić aplikację przez Wi-Fi, gdy serwer Tomcat Apache 7 działa ( po zakończeniu tworzenia aplikacji ).
Aby uzyskać Twój adres IP
ipconfig
Na liście Adres IPv4 to Twój adres IP.
źródło
Zrobiłem to na komputerze z systemem Windows i zadziałało idealnie!
Włącz Tethering przez USB w telefonie komórkowym. Wpisz ipconfig w wierszu poleceń na swoim komputerze i znajdź ipv4 dla „połączenia lokalnego adaptera Ethernet x” (przeważnie pierwsze) Teraz przejdź do przeglądarki mobilnej, wpisz ipv4 z numerem portu aplikacji internetowej. np .: - 192.168.40.142:1342
Zadziałało przy tych prostych krokach!
źródło
Jak łatwo uzyskać dostęp do LocalHost na rzeczywistym urządzeniu z Androidem -> Połącz swój komputer z urządzeniem z systemem Android przez USB
Narzędzie Chrome Inspection
Sprawdź spód chromowanego narzędzia inspekcyjnego.
Teraz przejdź do ustawień w zakładce Remote Device.
Karta Urządzenia zdalne
zaznacz opcję „Discover USB Device” oraz opcję „Port Forwarding”.
Teraz kliknij Dodaj reguły, wprowadź dowolny port urządzenia, np. (4880), aw polu Adres lokalny wprowadź rzeczywisty adres lokalnego hosta w moim przypadku, np. (127.0.0.1:480)
Po dodaniu reguły przejdź do swojego studia Android -> wewnątrz adresu URL kodu ( http://127.0.0.1:4880 ). Pamiętaj, aby zmienić port z 480 -> 4880.
Przejdź do zakładki Remote Device w Chrome i kliknij podłączone urządzenie. Dodaj nowy adres URL (127.0.0.1:4880) Sprawdź przeglądarkę Chrome na urządzeniu z Androidem
Sprawdź przeglądarkę Chrome na rzeczywistym urządzeniu i rozpocznij debugowanie kodu na rzeczywistym urządzeniu z Androidem.
źródło
Sprawdź opcje typu połączenia USB. Powinieneś mieć jeden o nazwie „przepustka do Internetu”. Umożliwi to telefonowi korzystanie z tego samego połączenia co komputer.
źródło
Bardzo podobała mi się odpowiedź Johna, ale chciałbym ją wprowadzić z pewnymi zmianami dla tych, którzy chcą przetestować konfigurację klient / serwer, uruchamiając TCP klienta na telefonie komórkowym podłączonym przez USB i serwer na lokalnym komputerze.
Po pierwsze, jest całkiem oczywiste, że 10.0.2.2 nie będzie działać, ponieważ jest to PRAWDZIWY telefon komórkowy ze sprzętem, a nie symulator.
Więc postępuj zgodnie z instrukcjami Johna:
Włącz opcję „Tethering przez USB” (Modem USB / Modem USB / USB שימוש כמודם סלולרי) w menu Androida. (W sieci-> więcej ...-> Tethering i przenośny punkt dostępu ")
Uzyskaj adres IP komputera (przypisany przez kabel USB) (otwórz wiersz polecenia i wpisz „ipconfig”, a następnie poszukaj adresu IP przypisanego przez kartę sieciową USB, w systemie Linux
ifconfig
lub Ubuntu „Informacje o połączeniu” itp. ..)Poinformuj aplikację, aby łączyła się z tym adresem IP (tj. 192.168.42.87) za pomocą czegoś takiego jak (Java - strona klienta):
String serverIP = "192.168.42.87"; int serverPort = 5544; InetAddress serverAddress = InetAddress.getByName(serverIP); Socket socket = new Socket(serverAddress, serverPort); ...
Cieszyć się..
źródło
Witaj, możesz uzyskać dostęp do swojego lokalnego hosta xampp przez
źródło
Podłączanie telefonu Android za pomocą kabla USB i dostęp do serwera http na komputerze.
Zapora ogniowa - wyłącz ją, gdy wszystko zadziała, możesz dodać regułę pod regułami przychodzącymi, włączyć serwer Apache HTTP (UDP i TCP) (lub dowolny serwer HTTP, z którego korzystasz) Ostrzeżenie - jeśli wyłączysz zaporę, komputer stanie się podatny na ataki do ataków internetowych. Dlatego najpierw wyłącz internet i odłącz się od sieci. Nie musisz być w Internecie, aby to zadziałało, ponieważ łączysz dwa urządzenia w sieci lokalnej.
Podłącz kabel USB. Jeśli pojawi się okno sieci, wybierz Sieć domowa. Jeśli się nie wyskakuje, prawdopodobnie jest ustawiony na Publiczny (co nie zadziała), więc przejdź do: Panel sterowania \ Sieć i Internet \ Centrum sieci i udostępniania (w win7) i ustaw tam sieć domową. Może wyświetlić następny ekran po naciśnięciu go w celu udostępnienia zdjęć, muzyki ... po prostu kliknij anuluj. Na ekranie głównym Sieć domowa będzie nadal aktywna.
Potrzebujesz adresu IP komputera, lokalnego hosta lub innych aliasów, które nie działają. Aby uzyskać adres IP swojego komputera, uruchom powłokę wiersza poleceń systemu Windows (naciśnij klawisz Windows + R i wpisz cmd), powinno pojawić się czarne okno wiersza poleceń, wpisz: "ipconfig" i naciśnij enter. Teraz poszukaj
Adres IPv4. . . . . . . . . . . : 192.168. ###. ### To adres IP przypisany przez telefon do komputera
Teraz powinieneś skończyć, w przeglądarce telefonu spróbuj uzyskać dostęp do testowego pliku html z serwera komputera, który powinien wyświetlić się dobrze.
Teraz, gdy wszystko działa, prawdopodobnie będziesz chciał włączyć zaporę ogniową i dostęp do Internetu na swoim komputerze. Teraz spróbuj ponownie uzyskać dostęp do serwera http. To prawdopodobnie nie zadziała. W zależności od konfiguracji możesz otrzymać wyskakujące okienko z prośbą o dodanie reguły, aby na to zezwolić, ale jeśli nie, po prostu dodaj ją samodzielnie. Uruchom zaporę systemu Windows i przejdź do Reguł przychodzących (ponieważ jest to serwer) i dodaj nową regułę. Wybierz „Program”. Zlokalizuj exe swojego serwera http i na następnym ekranie upewnij się, że wybrana jest opcja Zezwalaj. Spróbuj połączyć się ponownie, a teraz powinno działać. Jeśli nie, to prawdopodobnie dlatego, że wybrałeś zły exe. Możesz nawet przejść bardziej zaawansowane, aby ograniczyć korzystanie z zewnątrz (ponieważ teraz każdy w Internecie może uzyskać do niego dostęp, jeśli ma Twój internetowy adres IP) .Aby ograniczyć dostęp, możesz kliknąć prawym przyciskiem myszy nowo utworzoną regułę,
Uwaga dla programistów Androida: teraz w kodzie Androida musisz użyć „http: //”, w przeciwnym razie to nie zadziała. Na przykład: MyAsyncTask.execute („http://192.168.123.123/test.html”)
Część II - Ustawianie adresu IP na stały / statyczny.
Teraz, gdy wszystko działa, za każdym razem, gdy odłączasz kabel i podłączasz go ponownie, Twój adres IP ulegnie zmianie. A jeśli używasz go gdzieś w kodzie, będziesz musiał go aktualizować za każdym razem! Rozwiązanie, które wymyśliłem, to ustawienie statycznego adresu IP.
Ten adres IP będzie nowym stałym / statycznym adresem IP i pozostanie niezmieniony następnym razem, gdy podłączysz telefon.
źródło
adb devices
.Działa to w systemach Windows i Ubuntu Linux i powinno działać również na komputerach Mac.
źródło