Android 在genymotion上测试时,应用程序没有响应

Android 在genymotion上测试时,应用程序没有响应,android,genymotion,Android,Genymotion,我正在使用genymotion android emulator测试我的应用程序(它需要google play服务)。 由于genymotion无法支持此操作,因此我遵循了此处的说明。 每当我尝试在genymotion上启动此应用程序时,都会出现一个对话框,上面显示“应用程序没有响应。是否要关闭它?”。自从我第一次开发此应用程序以来,我一直在使用Galaxy Nexus-4.2.2的genymotion。它非常好。我不知道它为什么会突然停止工作。 只有当我在genymotion上测试我的应用程

我正在使用genymotion android emulator测试我的应用程序(它需要google play服务)。 由于genymotion无法支持此操作,因此我遵循了此处的说明。


每当我尝试在genymotion上启动此应用程序时,都会出现一个对话框,上面显示“应用程序没有响应。是否要关闭它?”。自从我第一次开发此应用程序以来,我一直在使用Galaxy Nexus-4.2.2的genymotion。它非常好。我不知道它为什么会突然停止工作。 只有当我在genymotion上测试我的应用程序时,这个问题才会发生,而不是使用真正的设备和eclipse emulator。logcat中没有错误。Emulator可以连接到internet。都查过了。我的代码没有问题。我删除了genymotion AVD,用新的创建和测试也无法解决问题。

请告诉我如何解决此问题?

Genymotion emulator没有集成的Google Play服务,因此我建议您在尝试访问该服务之前检查该服务是否存在于设备中,以确保在尝试访问该服务时不会冻结。。此外,您还可以使用adb或adb自己的仿真器直接在手机中进行调试(我知道adb上的仿真器速度很慢,但仍然…)

当您在主线程上执行长任务时,会显示此消息。它被称为ANR(应用程序无响应)。您应该通过使用调试和分析工具来了解发生了什么

在代码中添加断点,并在设备上调试(而不是运行)应用程序。 您还可以通过DDMS分析应用程序的执行情况,以确定在UI线程上运行的代码部分,并花费5秒钟以上的时间进行处理。 您可以找到更多关于Android上的方法分析工具Tracedump的信息

此外,它不能来自你的应用程序,而是由你调用的第三方元素引起的。 例如,我知道,当你从云端选择一张尚未下载的图片时,谷歌应用程序中的新“照片”应用程序可能会导致ANRs


如果它来自第三方应用程序,我不知道如何解决这个问题。

我不认为genymotion预装了PlayServices是的。但我还是设法做到了。你可以在这里阅读。你是否将flash Play Services压缩到你的Genymotion emulator?自从我第一次开发这个应用程序以来,我一直在使用Galaxy Nexus-4.2.2 emulator的Genymotion。它非常好。我不知道为什么它突然停止工作。对于我来说,使用adb自己的模拟器是不可能的,因为我在这上面看不到谷歌地图。谢谢你的回答:)我理解adb emulator的问题,我也使用genymoton。。也许你改变了代码中的某些内容,这使得与互联网的连接停止了。。顺便说一句,如果答案足够有用,请用左边的复选标记将其标记为答案,谢谢!我很愿意。但我仍在等待能够解决我的genymotion问题的好答案。看,你已经确认模拟器正在通过访问模拟器上的浏览器访问internet,因此我们知道模拟器具有internet,因此如果你的应用程序无法以某种方式访问internet,那么问题一定出在你的代码中。。如果你不显示你的代码或至少部分代码,我和其他任何人都无法提供帮助。。你没有提供足够的信息来帮助我们,正如你所说,问题不在于我的应用程序,也不在于ANR,因为当我尝试在真实设备和eclipse emulator上测试它时,应用程序运行良好。所以问题一定来自genymotionOK。所以我认为我们没有足够的信息来帮助你解决问题。你应该编辑你的文章,精确地添加事情是如何进行的,你在屏幕上看到了什么,最终在logcat上看到了什么,等等。我们不知道你的问题何时出现(在应用程序启动时或你执行特定操作时),我们也没有任何明确的错误、日志或关于问题来源的指示。也不是关于谷歌应用程序如何暗示你的问题。因此,请添加更多信息,我们将能够为您提供更相关的支持。