在Android Developer Console上崩溃和ANR

问题描述 投票:31回答:2

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

ANR代表什么?

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

android crash google-play crash-reports android-anr-dialog
2个回答
42
投票

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

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

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

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

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


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

© www.soinside.com 2019 - 2024. All rights reserved.