现在的位置: 首页 > 综合 > 正文

android 模拟器访问本机http服务IP地址问题

2013年09月05日 ⁄ 综合 ⁄ 共 1605字 ⁄ 字号 评论关闭
文章目录

android 模拟器访问本机http服务IP地址问题

获取android模拟器的IP地址 1、在cmd中查看加载的设备,输入adb devices;2、使用 adb -s [设备] [命令]执行命令shell后,进入linux shell。然后使用getprop命令,获取系统信息[net.gprs.local-ip]: [10.0.2.15]或者ipaddress。即为模拟器或真机的ip地址这里值得注意的是,多个模拟器ip地址都是相同的3、也可以在adb所在目录中输入adb shell命令,接着输入getprop指令可以获取系统信息在其中的[net.gprs.local-ip]:
[10.0.2.15]项中就可以看到模拟器的IP地址。 1. 判断一下模拟器的上网方式,是不是通过pc代理上网。查找模拟器的ip地址和pc机的地址是不是同一局域网。  2.模拟器m访问网络(httppost httpget), 遇到本地pc设置有代理的问题时, 用emulator命令加上avd -http-proxy 10.0.2.2:8888参数启动模拟器,并且需在模拟器上添加: System.getProperties().put("proxySet", "true");  System.getProperties().put("proxyHost",
proxyIp);  System.getProperties().put("proxyPort", proxyPort);

 

 

http://xujunhappy.iteye.com/blog/1023122

android 模拟器访问本机http服务IP地址问题

URL url = new URL("http://127.0.0.1/xmlgui" + formNumber + ".xml"); 
URL url = new URL("http://localhost/xmlgui" + formNumber + ".xml"); 
URL url = new URL("http://www.baidu.com/img/baidu_jgylogo1.gif"); 
URL url = new URL("http://192.168.1.101/xmlgui" + formNumber + ".xml"); 

试了前面两个地址,都说访问拒绝。 
试了第三个没问题,想到直接用本机的IP地址,成功。 
具体原因尚不得知! 

原因找到!! 
从网络拓扑上说模拟器应该是另外一台PC,127.0.0.1和localhost,表示:模拟器中的android系统, 
宿主的IP应该用192.168.1.101表示

 

Android模拟器默认的地址是10.0.2.3,默认的DNS也是10.0.2.3,对于在家里上网学习Android的人(像我)来讲,一般电脑的IP都是192.168.1.100之类的,不在同一个网段。所以就会出现电脑可以上网但是模拟器不能上网的情况。其实设置方法很简单,只要把模拟器的默认DNS设置成电脑的DNS地址即可。

第一步:用系统的命令进入Android开发包的tools目录

 cd X:\...\android-sdk-windows\tool

第二布:使用adb的shell,确认系统的各项属性

adb shell

getprop

getprop会列出系统当前的各项属性

第三步:得到模拟器的DNS地址

在结果里可以看到:

[net.dns1]: [10.0.2.3]
[net.dns2]: [10.0.2.4]
[net.dns3]: [10.0.2.5]
[net.dns4]: [10.0.2.6]

第四步:把dns改成我们自己的DNS

setprop net.dns1 192.168.1.1

注:一般TP-LINK及D-LINK的DNS都是192.168.1.1,如果不是请使用ipcnofig /all命令确认。

大功告成,再去使用模拟器的浏览器的话,你就可以发现你已经可以上网了

 

抱歉!评论已关闭.