3.9使用崩溃报告自动获取错误报告
问题
用户不一定在每次您的应用崩溃时都通知您,而当他们这样做时,通常会省略重要的细节。你想要一个服务捕获每一个异常,并详细报告。
解
有用于报告应用程序崩溃的开源和商业技术。其中一个广泛使用的开源的是ACRA,Android应用崩溃报告。 ACRA提供自己的后端报告工具,但也支持Google文档和许多其他后端。如果您有自己的Java EE服务器,则可以使用作者自己的CrashBurnFree服务,这也适用于Java的非Android实现。或者,您可以注册一个商业服务。
对于大多数这些,您只需要添加一个JAR文件和一个调用到您的应用程序。然后坐下并等待通知,或查看相应的Web信息中心以了解错误和详细信息页面列表。
讨论
没有什么神奇的报告崩溃,它不提供任何你不能自己做的。但它已经为你做,所以只是使用它!
使用ACRA的基本步骤是:
1.决定要使用哪个服务器/后端。
2.将一个JAR文件添加到项目中。
3.注释应用程序类,以表明它是启用ACRA的应用程序。
使用CrashBurnFree的基本步骤是:
1.下载服务器jar,或者,从https:///IanDarwin/Crash BurnFree构建它。将其部署到您的服务器。
2.配置自己在服务器中使用的安全密钥。
3.将一个JAR文件添加到项目中。
4.将一个调用(使用安全密钥)添加到您的Application类或主活动的onCreate()方法中。
步骤1超出了本书的范围;如果你有一个Java EE服务器,你可以处理它。
要使用其中一个商业服务,请使用这些步骤(我们使用BugSense,但其他人工作在类似的方式)。
1.使用BugSense免费或高级版创建帐户,网址为http://。
2.注册您的应用程序,并从上述网站检索其唯一的密钥。
3.从上述网站下载JAR文件,并将其添加到您的项目中。
4.将一个调用(使用应用程序的唯一键)添加到您的Application类或主活动的onCreate()方法中。
完成上述步骤后,您可以将您的应用程序分发给用户。步骤1和2很简单,因此我们不再进一步讨论。其余步骤需要更多细节,我们将在以下小节中讨论它们。
项目设置
可以使用以下Maven坐标添加ACRA的JAR文件;如果你使用Gradle,你知道如何修剪这个。
类似的CrashBurnFree:
BugSense的JAR文件是bugsense-trace.jar;您可以从$$ https:///下载
。您可能知道如何向您的项目添加JAR。
因为这种机制通过互联网报告错误,以下应该不用说(但让我说它反正):你需要互联网权限才能使用它!将以下代码添加到您的AndroidManifest.xml文件:
<uses-permission android:name =“android.permission.INTERNET”/>
在应用启动时请求崩溃报告
你通常只需要在你的Application类或Activity的onCreate()方法中调用一个:
对于ACRA,请注释应用程序类启动。
这里是CrashBurnFree的onCreate()方法中的代码:
下面是Bugsense的onCreate()方法中的代码: