问题
What can I do in Eclipse\'s Android emulator to connect it to my localhost web server page at http://localhost
or http://127.0.0.1
?
I\'ve tried it, but the emulator still takes my request like a Google search for localhost or worse it says that it didn\'t found the page while my web server is normally running.
回答1:
The localhost refers to the device on which the code is running, in this case the emulator.
If you want to refer to the computer which is running the Android simulator, use the IP address 10.0.2.2 instead. You can read more from here.
回答2:
Use 10.0.2.2
for default AVD and 10.0.3.2
for genymotion.
回答3:
I used 10.0.2.2 successfully on my home machine, but at work, it did not work. After hours of fooling around, I created a new emulator instance using the Android Virtual Device (AVD) manager, and finally the 10.0.2.2 worked.
I don't know what was wrong with the other emulator instance (the platform was the same), but if you find 10.0.2.2 does not work, try creating a new emulator instance.
回答4:
Try http://10.0.2.2:8080/
where 8080
is your port number. It worked perfectly. If you just try 10.0.2.2
it won't work. You need to add port number to it. Also if Microsoft IIS has been installed try turning off that feature from control panel (if using any windows os) and then try as given above.
回答5:
according to documentation:
10.0.2.2 - Special alias to your host loopback interface (i.e., 127.0.0.1 on your development machine)
check Emulator Networking for more tricks on emulator networking.
回答6:
For My Mac OS mountain Lion device :
http:// 10.0.2.2:8888
Works perfect !
回答7:
If you are in windows you can go to simbol system and write ipconfig and check what ip is assigned to your machine.
回答8:
I needed to figure out the system host IP address for the emulator "Nox App Player". Here is how I figured out it was 172.17.100.2
.
- Installed Android Terminal Emulator from the app store
- Issue
ip link show
command to show all network interfaces. Of particular interest was the eth1 interface - Issue
ifconfig eth1
command, shows net as172.17.100.15/255.255.255.0
- Begin pinging addresses starting at
172.17.100.1
, got a hit on `172.17.100.2'. Not sure if a firewall would interfere but it didn't in my case
Maybe this can help someone else figure it out for other emulators.
回答9:
Another workaround is to get a free domain from no-ip.org and point it to your local ip address.
Then, instead of using http://localhost/yourwebservice
you can try http://yourdomain.no-ip.org/yourwebservice
回答10:
I do not know, maybe this topic is already solved, but when I have tried recently do this on Windows machine, I have faced with lot of difficulties. So my solution was really simple. I have downloaded this soft http://www.lenzg.net/rinetd/rinetd.html followed their instructions about how to make port forwarding and then successfully my android device connected to make asp.net localhost project and stopped on my breaking point.
my rinetd.conf file:
10.1.1.20 1234 127.0.0.1 1234
10.1.1.20 82 127.0.0.1 82
Where 10.1.1.20 is my localhost ip, 82 and 1234 my ports Also I have craeted bath file for easy life yournameofbathfile.bat, put that file inside rinedfolder. My bath file:
rinetd.exe -c rinetd.conf
After starting this soft, start your aps.net server and try to access from android device or any device in your local network(for example Computer ABC starts putty) and you will see that everything works. No need to go to router setting or do any other complicated things. I hope this will help you. Enjoy.
来源:https://stackoverflow.com/questions/5806220/how-to-connect-to-my-http-localhost-web-server-from-android-emulator-in-eclips