31

我最近刚刚在 Google Play Store 上启动了一个应用程序,我正在探索开发者控制台并看到了Crashes and ANR.

ANR 代表什么?

此外,我的应用程序之前似乎在我朋友的某些手机上崩溃过,但他们无法“报告”此类崩溃。我应该如何启用这些功能,以便用户报告崩溃,以便我在开发者控制台的崩溃/ANR 选项卡下看到?

4

2 回答 2

42

ANR 代表应用程序无响应。如果您的应用在 UI 线程上做了很多工作,那么您将看到其中一个强制关闭/等待对话框。那是ANR。

至于崩溃报告,如果您的应用通过 Google Play 分发,则内置崩溃报告。当您的应用崩溃时,用户将看到一个对话框,其中包含“强制关闭”或“报告”选项。用户必须按下报告选项才能向您发送崩溃报告,否则您可能永远不会知道。

如果您不通过 Google Play 分发,您可能需要考虑像 ACRA 这样的库,它会通过电子邮件向您发送崩溃报告,将它们上传到 Google Docs 电子表格,或者您可以编写自己的自定义处理程序来处理崩溃报告。

关于 ACRA 的详细信息可以在这里找到:http ://code.google.com/p/acra/

下面是这些对话框的样例。左侧的关闭/报告对话框和右侧的 ANR。Android 3.0+ 位于顶部,较旧的对话框位于底部。

在此处输入图像描述

于 2013-02-06T14:59:07.477 回答
4

当应用程序崩溃时,会生成一个墓碑。从本质上讲,您的应用程序需要知道它的某些部分已崩溃(如果您依赖某些提供回调/状态的 API 或库)但如果它真的只是您的应用程序正在死去 - 您将很难确定它是崩溃还是不是。

“错误报告”不是您可以在 android 中使用的预制类,您可能必须自己推出一个。再说一次,还有 ACRA - http://acra.ch/

一些链接:

http://android-developers.blogspot.com/2010/05/google-feedback-for-android.html

http://developer.android.com/distribute/googleplay/strategies/app-quality.html

于 2013-02-06T14:54:30.320 回答