Android模拟器无法访问互联网

Android模拟器无法访问互联网,android,emulation,Android,Emulation,我一直在研究这里找到的所有可能的解决方案,不幸的是,没有一个对我有效。我的清单设置正确;我有3个不同的AVD,它们都在右上角显示3G标志。我正在开发一个需要互联网连接的应用程序;我试着简单地用浏览器上网,但没用。我没有代理人;我连接到一个路由器;我使用的是Windows Vista。我已尝试在运行配置中添加我电脑的DNS。我能看到的唯一一个问题可能会把事情搞砸,尽管据我记忆所及,在Eclipse要求更新到SDK 19时,我不得不手动更新Tools文件夹之前,它不起作用。我一直收到一个错误,Ecl

我一直在研究这里找到的所有可能的解决方案,不幸的是,没有一个对我有效。我的清单设置正确;我有3个不同的AVD,它们都在右上角显示3G标志。我正在开发一个需要互联网连接的应用程序;我试着简单地用浏览器上网,但没用。我没有代理人;我连接到一个路由器;我使用的是Windows Vista。我已尝试在运行配置中添加我电脑的DNS。我能看到的唯一一个问题可能会把事情搞砸,尽管据我记忆所及,在Eclipse要求更新到SDK 19时,我不得不手动更新Tools文件夹之前,它不起作用。我一直收到一个错误,Eclipse无法覆盖Tools文件夹。这就是我在谷歌上找到的解决方案;当然,我保留了一份原始工具文件夹的副本作为备份

有什么建议吗

谢谢

来自:

在启动时,仿真器将读取您所使用的DNS服务器的列表 系统当前正在使用。然后,它存储多达个的IP地址 此列表上有四台服务器,并在模拟服务器上为它们设置别名 根据需要说明10.0.2.3、10.0.2.4、10.0.2.5和10.0.2.6

在Linux和OS X上,仿真器通过以下方式获得DNS服务器地址: 解析文件/etc/resolv.conf。在Windows上,仿真器获得 通过调用GetNetworkParams API来更改地址。请注意 通常意味着仿真器忽略主机的内容 Linux/OS X上的文件/etc/hosts,%WINDOWS%/system32/hosts

在命令行启动emulator时,还可以使用 -dns服务器选项,手动指定要使用的dns服务器的地址,其中是以逗号分隔的 服务器名称或IP地址。如果您愿意,您可能会发现此选项很有用 在的模拟网络中遇到DNS解析问题 例如,使用时出现的未知主机错误消息 网络浏览器

因此,我确实尝试从命令行运行emulator:

$ emulator @Name_of_my_avd -dns-server 192.168.0.1
其中192.168.0.1-是我家路由器的ip。我在系统设置中发现192.168.0.1也是我的DNS服务器

一切正常

UPD:对于MacOS:转到活动连接选项卡中的系统首选项->网络->高级->DNS。您将看到系统使用的DNS服务器列表。当您编辑此列表并单击Apply时,您的/etc/resolv.conf将更新,因此不带选项的emulator-dns服务器将使用它!但是:在我的例子中,emulator只使用列表中的第一个DNS服务器!因此,如果您希望您的模拟器使用某些DNS服务器,只需将其作为列表中的第一个DNS即可

来自:

在启动时,仿真器将读取您所使用的DNS服务器的列表 系统当前正在使用。然后,它存储多达个的IP地址 此列表上有四台服务器,并在模拟服务器上为它们设置别名 根据需要说明10.0.2.3、10.0.2.4、10.0.2.5和10.0.2.6

在Linux和OS X上,仿真器通过以下方式获得DNS服务器地址: 解析文件/etc/resolv.conf。在Windows上,仿真器获得 通过调用GetNetworkParams API来更改地址。请注意 通常意味着仿真器忽略主机的内容 Linux/OS X上的文件/etc/hosts,%WINDOWS%/system32/hosts

在命令行启动emulator时,还可以使用 -dns服务器选项,手动指定要使用的dns服务器的地址,其中是以逗号分隔的 服务器名称或IP地址。如果您愿意,您可能会发现此选项很有用 在的模拟网络中遇到DNS解析问题 例如,使用时出现的未知主机错误消息 网络浏览器

因此,我确实尝试从命令行运行emulator:

$ emulator @Name_of_my_avd -dns-server 192.168.0.1
其中192.168.0.1-是我家路由器的ip。我在系统设置中发现192.168.0.1也是我的DNS服务器

一切正常


UPD:对于MacOS:转到活动连接选项卡中的系统首选项->网络->高级->DNS。您将看到系统使用的DNS服务器列表。当您编辑此列表并单击Apply时,您的/etc/resolv.conf将更新,因此不带选项的emulator-dns服务器将使用它!但是:在我的例子中,emulator只使用列表中的第一个DNS服务器!因此,如果您希望您的模拟器使用某些DNS服务器,只需将其作为列表中的第一个DNS即可

防火墙?你有没有试着禁用它一会儿?并查看LogCat-也许它说了一些关于你的模拟器或银行的互联网连接的帮助;防火墙与此无关,但我设法找到了别的东西;我打开了提示符cmd;然后输入这个:emulator-avdname of emulator-dns server 8.8.8.8,它成功了!谢谢,againI在许多其他线程中找到了您的解决方案,但我在eclipse的android->launch中找到了,但没有帮助,但从命令行启动确实有效。防火墙?你有没有试着离开
你能帮我一下吗?并查看LogCat-也许它说了一些关于你的模拟器或银行的互联网连接的帮助;防火墙与此无关,但我设法找到了别的东西;我打开了提示符cmd;然后输入这个:emulator-avdname of emulator-dns server 8.8.8.8,它成功了!谢谢,againI在许多其他线程中找到了您的解决方案,但我在eclipse的android->launch中找到了,但没有帮助,但从命令行启动确实有效。