当我的应用崩溃时,如何向我发送错误数据?[已结束]

How can I send error data to me when my app crashes? [closed]

提问人:Zoe is on strike 提问时间:7/7/2016 最后编辑:Zoe is on strike 更新时间:2/16/2019 访问量:127

问:


想改进这个问题吗?通过编辑这篇文章来更新问题,使其仅关注一个问题。

4年前关闭。

每当我的应用程序崩溃时,我想将 Stacktrace 传输给我。如果一个应用程序被上传到 Google Play 并且崩溃了,则可以选择报告错误,但实际上很少有人这样做,因为这需要时间。所以我想找到一种方法,让应用程序将完整的堆栈跟踪发送给我,这样我就可以解决错误。

设置必须易于实施。我考虑过使用 Google Analytics,但这需要在任何地方都有 try-catch 语句,并且每个语句中都有 GA 设置,并且很难设置和防止 ANR,因为空指针出现在代码中的某个地方。

我该怎么做?

Java Android 错误报告

评论

2赞 CommonsWare 7/7/2016
acra.ch
0赞 Ezequiel García 7/7/2016
你看起来有点像 Crashlytics?fabric.io/kits/android/crashlytics/summary
0赞 Zoe is on strike 7/7/2016
@CommonsWare 我该如何报告错误?acra是怎么做到的?用户是否必须做任何事情,或者这一切都是自动的?
0赞 CommonsWare 7/7/2016
ACRA是可配置的,可以配置其处理崩溃的方式。您的问题包含在ACRA文档中。我还在知识共享许可下发布了关于ACRA的书章,它也涵盖了你的问题。
0赞 L.Velazquez 7/7/2016
我在我的应用程序中使用了 Crashlytics。Crashlytics 向您显示堆栈跟踪,您还可以添加变量,例如用户 ID、用户电子邮件、用户名。

答:

1赞 Dragg 7/8/2016 #1

我建议您使用ACRA,因为它更具可配置性。

ACRA可以从 https://github.com/ACRA/acra 下载,并在您自己的服务器上运行(如果有的话)。

它如何报告崩溃?

它有三种方法可以向您发送崩溃报告。

首先 - 自动发送崩溃报告,无需用户选择

第二 - 让用户选择是否发送崩溃报告(通知)。

第三 - 自动重启应用程序,然后让用户选择是否发送报告。

还有更多。

为什么要使用它?

兼容Android 2.2及更高版本。

崩溃报告要详细得多。

您可以添加自己的变量和调试跟踪。

除崩溃报告外的错误报告(如果应用程序未崩溃,则可以发送错误报告)。

它自托管。

不需要 Google Play 即可运行。

如果不存在网络连接,则稍后在存在网络连接时发送报告。

他们唯一的服务器端要求是它围绕 CouchDB 构建,如果您的主机不支持 CouchDB,那么有一些免费(和付费)的外部 CouchDB 主机。