支持国产操作系统国产应用!

捉蛋网

当前位置: 捉蛋网>教程>Android开发>

Android模拟器无法上网的原因

时间:2013-06-05 16:34来源: 作者: 点击:
  Android模拟安装之后,无需特殊设置,只要运行模拟器的主机能够上网,模拟器应该是能够正常上网的。但是有时会碰到模拟器无法上网的情况。基本上可以确认是DNS的原因造成的。

  主要就是使用adb shell命令,进入模拟器的命令上设置,然后使用setprop net.dns1 192.168.1.1这个命令,来设置模拟器的dns服务器。按照这种方法试了一下问题还是没有解决。索性重装了一下SDK,问题依然没有解决。这是想到了一个办法,抓包看看为什么模拟器上dns查询会出错,运行模拟器的windows系统上,不会出错。

  首先在用模拟访问了一个网站,dns的结果如下,这次查询是失败的:

  然后又在windows上访问了一下同样的网站,dns查询的结果如下:

  问题出来了,主机跟模拟器使用的不是同一个dns服务器,一个是192.168.91.2,一个是192.168.4.4。为什么会这样了,马上想到了网络配置,是可以选择首选的dns服务器,备用的dns服务器的。使用ipconfig看了一下,果然windows使用的是备用的dns服务器,android 模拟器使用的是首选的dns服务器。

  在有多个dns服务器时,windows会在查询失败后再次使用备用的dns服务器来查询域名,Android为什么只读取了主机上首选dns的配置,没有读取备用的dns配置,这点没有深挖,有兴趣的可以深挖一下。不过这个问题解决起来就很简单了,只要在主机的网络设置里把首选和备用的dns配置顺序修改一下就好了。

(责任编辑:捉蛋网-刷机)
............................................................................................... ...............................................................................................

 

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------