Android Genymotion无法连接到服务器?

Android Genymotion无法连接到服务器?,android,genymotion,networkonmainthread,Android,Genymotion,Networkonmainthread,我有一个向服务器发送http请求并接收JSON进行处理的应用程序。我在物理设备和Genymotion上都进行了测试 应用程序在物理设备上运行正常,但在Genymotion上会抛出NetworkOnMainThreadException 我跟踪了异常,这是问题的部分: .. DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity

我有一个向服务器发送http请求并接收JSON进行处理的应用程序。我在物理设备和Genymotion上都进行了测试

应用程序在物理设备上运行正常,但在Genymotion上会抛出
NetworkOnMainThreadException

我跟踪了异常,这是问题的部分:

..
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params,"UTF-8"));

// Exception on this line:
HttpResponse httpResponse = httpClient.execute(httpPost);
//
HttpEntity httpEntity = httpResponse.getEntity();
...
Genymotion似乎无法连接到服务器以执行请求。但它的浏览器可以很好地加载这些站点


那么,有人知道这里出了什么问题吗?

我发现了问题所在:

如本文所述,自API 11以来,将抛出
NetworkOnMainThreadException
,以便在主线程中使用长时间运行的任务(如http通信)进行通知


通过使用
AsyncTask
解决了问题,一切正常运行。

您在async中调用了上述内容吗task@TonyStark我想我应该。我刚刚阅读了关于此的回复,似乎异常与GenyMoon无关,而是与API级别有关。我的物理设备有安卓2.3,因此没有给我这个例外。我使用的是geny motion,它的工作状态很好,可以从虚拟盒运行你的genymotion模拟器。在这里,您可以选择仿真器的网络类型。