Co mogę zrobić w emulatorze Androida Eclipse, aby połączyć go ze stroną serwera localhost na stronie http://localhost
lub http://127.0.0.1
?
Próbowałem, ale emulator nadal przyjmuje moją prośbę jak wyszukiwanie Google dla localhost lub co gorsza, mówi, że nie znalazł strony, podczas gdy mój serwer WWW normalnie działa.
android
android-emulator
localhost
loopback-address
Fopa Léon Constantin
źródło
źródło
Odpowiedzi:
Lokalny host odnosi się do urządzenia, na którym działa kod, w tym przypadku emulatora.
Jeśli chcesz odwołać się do komputera z symulatorem Androida, użyj adresu IP 10.0.2.2 .
Możesz przeczytać więcej tutaj .
źródło
Użyj
10.0.2.2
dla domyślnego AVD i10.0.3.2
dlagenymotion.źródło
10.0.3.2
nasz plik hosta?Z powodzeniem korzystałem z 10.0.2.2 na moim komputerze domowym, ale w pracy nie działało. Po wielu godzinach wygłupów utworzyłem nową instancję emulatora za pomocą Android Virtual Device menedżera (AVD) i wreszcie 10.0.2.2 zadziałało.
Nie wiem, co było nie tak z inną instancją emulatora (platforma była taka sama), ale jeśli okaże się, że 10.0.2.2 nie działa, spróbuj utworzyć nową instancję emulatora.
źródło
Spróbuj,
http://10.0.2.2:8080/
gdzie8080
jest twój numer portu. Działa idealnie. Jeśli tylko spróbujesz,10.0.2.2
to nie zadziała. Musisz do niego dodać numer portu. Również jeśli Microsoft IIS został zainstalowany, spróbuj wyłączyć tę funkcję z panelu sterowania (jeśli używasz dowolnego systemu operacyjnego Windows), a następnie spróbuj wykonać powyższe czynności.źródło
zgodnie z dokumentacją:
sprawdź Emulator Networking, aby uzyskać więcej sztuczek związanych z siecią emulatora.
źródło
W przypadku urządzenia My Lion OS Mountain Lion:
Działa idealnie!
źródło
Musiałem znaleźć adres IP hosta systemu dla emulatora „Nox App Player”. Oto, jak się zorientowałem
172.17.100.2
.ip link show
polecenie, aby wyświetlić wszystkie interfejsy sieciowe. Szczególnie interesujący był interfejs eth1ifconfig eth1
polecenie, pokazuje net jako172.17.100.15/255.255.255.0
172.17.100.1
, trafiłem na `172.17.100.2 '. Nie jestem pewien, czy zapora zadziała, ale w moim przypadku tak nie byłoMoże to może pomóc komuś innemu dowiedzieć się o innych emulatorach.
źródło
Jeśli jesteś w systemie Windows, możesz przejść do systemu simbol i napisać ipconfig i sprawdzić, jaki ip jest przypisany do twojego komputera.
źródło
Możesz faktycznie użyć
localhost:8000
do połączenia z lokalnym hostem komputera, uruchamiając poniższe polecenie za każdym razem, gdy uruchamiasz emulator (testowany tylko na Macu):Wystarczy umieścić go w terminalu Android Studio.
Zasadniczo konfiguruje odwrotne proxy, w którym serwer HTTP działający w telefonie akceptuje połączenia na porcie i łączy je z komputerem lub odwrotnie.
źródło
Nie wiem, może ten temat jest już rozwiązany, ale kiedy ostatnio próbowałem to zrobić na komputerze z systemem Windows, napotkałem wiele trudności. Więc moje rozwiązanie było naprawdę proste. Pobrałem ten miękki http://www.lenzg.net/rinetd/rinetd.html postępując zgodnie z ich instrukcjami dotyczącymi przekazywania portów, a następnie pomyślnie nawiązałem połączenie z moim urządzeniem z Androidem, aby utworzyć projekt lokalnego hosta asp.net i zatrzymałem się w punkcie krytycznym.
mój plik rinetd.conf:
Gdzie 10.1.1.20 jest moim lokalnym hostem ip, 82 i 1234 moje porty Również mam skąpy plik kąpieli dla łatwego życia twoja nazwabathfile.bat, umieść ten plik w folderze rinedfolder. Mój plik do kąpieli:
Po uruchomieniu tego soft, uruchom serwer aps.net i spróbuj uzyskać dostęp z urządzenia z systemem Android lub dowolnego urządzenia w sieci lokalnej (na przykład Kit ABC uruchamia kit), a zobaczysz, że wszystko działa. Nie musisz przechodzić do ustawień routera ani wykonywać innych skomplikowanych czynności. Mam nadzieję, że to Ci pomoże. Cieszyć się.
źródło
Innym obejściem jest uzyskanie bezpłatnej domeny od no-ip.org i skierowanie jej na lokalny adres IP. Następnie zamiast używać
http://localhost/yourwebservice
możesz spróbowaćhttp://yourdomain.no-ip.org/yourwebservice
źródło