当我想要访问我的网络服务时,我的Android应用程序中有一个 UnknownHostException 。
我在AndroidManifest.xml上插入了<uses-permission android:name="android.permission.INTERNET" />
。
如果我通过浏览器访问我的webservice链接就可以了。
我在C:\Windows\System32\drivers\etc\hosts
文件中输入了域名和IP。
但是如果我通过模拟器运行应用程序,我得到了 UnknownHostException 。据我所知,模拟器应该使用我的系统文件与服务器连接......但是,实际上它没有...请帮助解决这个问题。
答案 0 :(得分:4)
在我的情况下,当我登录到VPN时启动模拟器时遇到了这个问题。在退出模拟器并重新启动之前,注销VPN无效。如果您的模拟器没有正确解析名称,则很容易进行测试 - 只需转到模拟器浏览器并输入网站主机名(除Google以外的所有内容)。
答案 1 :(得分:1)
使用
这样的域解决了问题CustomHttpClient.executeHttpPost("http//192.168.1.2/path");
一切都很好用。即使使用root权限,我也无法在android文件系统中编辑hosts文件。所以如果你有类似的问题 - 好的解决方案是使用IP地址,而不是域。
答案 2 :(得分:0)
用于与网络服务建立联系的非常好的教程是here
您将在本教程中介绍此行..
CustomHttpClient.executeHttpPost("http//192.168.1.2/path");
此处 路径 表示<{1}}中 文件 的路径。