android模拟器中的UnknownHostException

时间:2012-07-24 12:51:56

标签: android emulation hosts-file unknown-host

当我想要访问我的网络服务时,我的Android应用程序中有一个 UnknownHostException

我在AndroidManifest.xml上插入了<uses-permission android:name="android.permission.INTERNET" />

如果我通过浏览器访问我的webservice链接就可以了。

我在C:\Windows\System32\drivers\etc\hosts文件中输入了域名和IP。

但是如果我通过模拟器运行应用程序,我得到了 UnknownHostException 。据我所知,模拟器应该使用我的系统文件与服务器连接......但是,实际上它没有...请帮助解决这个问题。

3 个答案:

答案 0 :(得分:4)

在我的情况下,当我登录到VPN时启动模拟器时遇到了这个问题。在退出模拟器并重新启动之前,注销VPN无效。如果您的模拟器没有正确解析名称,则很容易进行测试 - 只需转到模拟器浏览器并输入网站主机名(除Google以外的所有内容)。

答案 1 :(得分:1)

使用

这样的域解决了问题
CustomHttpClient.executeHttpPost("http//192.168.1.2/path"); 

一切都很好用。即使使用root权限,我也无法在android文件系统中编辑hosts文件。所以如果你有类似的问题 - 好的解决方案是使用IP地址,而不是域。

感谢Haresh Chaudhary

答案 2 :(得分:0)

用于与网络服务建立联系的非常好的教程是here

您将在本教程中介绍此行..

CustomHttpClient.executeHttpPost("http//192.168.1.2/path");  

此处 路径 表示<{1}}中 文件 的路径。