我刚刚在Google Play商店推出了一个应用程序,我正在浏览开发者控制台,并看到了Crashes and ANR
的标签。
ANR代表什么?
此外,我的应用程序之前似乎已经在我朋友的一些电话上崩溃,但他们无法“报告”此类崩溃。我应该如何启用此类功能以便用户报告崩溃,以便在Crashes / ANR选项卡下的开发者控制台中查看?
答案 0 :(得分:42)
ANR代表Application Not Responding。如果您的应用程序在UI线程上做了大量工作,那么您将看到其中一个强制关闭/等待对话框。那是ANR。
对于崩溃报告,如果您的应用是通过Google Play分发的,那么内置崩溃报告。当您的应用崩溃时,用户将会看到一个包含“强制关闭”或“报告”选项的对话框。用户必须按“报告”选项向您发送崩溃报告,否则您可能永远不会知道。
如果您没有通过Google Play分发,可能需要考虑像ACRA这样的图书馆,它会向您发送崩溃报告,将其上传到Google文档电子表格,或者您可以编写自己的自定义处理程序来处理崩溃报告。
有关ACRA的详细信息,请访问:http://code.google.com/p/acra/
以下是这些对话框的样例。左侧是关闭/报告对话框,右侧是ANR。 Android 3.0+位于顶部,底部是较旧的对话框。
答案 1 :(得分: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