在Android Developer Console上崩溃和ANR

lyk*_*lyk 31 crash android crash-reports android-anr-dialog google-play

我刚刚在Google Play商店推出了一个应用程序,我正在探索开发人员控制台并查看了标签Crashes and ANR.

ANR代表什么?

此外,我的应用程序似乎已经在我朋友的一些电话上崩溃了,但他们无法"报告"此类崩溃.我应该如何启用此类功能以便用户报告崩溃,以便在Crashes/ANR选项卡下的开发人员控制台中查看?

Mic*_*ley 42

ANR代表Application Not Responding.如果您的应用程序在UI线程上做了大量工作,那么您将看到其中一个强制关闭/等待对话框.这是ANR.

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

如果您没有通过Google Play进行分发,则可能需要考虑像ACRA这样的图书馆,它会向您发送崩溃报告,将其上传到Google文档电子表格,或者您可以编写自己的自定义处理程序来处理崩溃报告.

有关ACRA的详细信息,请访问:http://code.google.com/p/acra/

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

在此输入图像描述

  • ACRA无法抓住并报告ANR.因为Acra使用应用程序的VM运行,并且系统监视程序在VM外部生成ANR.但是,ACRA报告Java Exceptions非常方便.ANR和JNI异常报告功能目前不可用.https://groups.google.com/forum/#!msg/acra-discuss/ETy1bm7pvh8/G5ellbqkZGoJ (5认同)