gpt4 book ai didi

android - 在应用程序崩溃时将堆栈跟踪信息从 Android 应用程序发送到后端服务器

转载 作者:行者123 更新时间:2023-11-30 00:09:56 26 4
gpt4 key购买 nike

我们正在编写一个实时错误处理 web 平台,我正试图找出在 android 应用程序启动后通过 http post 请求将堆栈跟踪信息发送回我们的服务器的最佳方法崩溃发生。

我已经使用 Thread.setDefaultUncaughtExceptionHandler 回调来注册我们的回调处理程序,以便我们可以捕获堆栈跟踪。由于某些奇怪的原因,我似乎无法在应用程序崩溃后立即发出 http 请求(行为非常奇怪,如果我在代码的错误处理程序部分发出请求,则根本不会调用响应/错误回调,所以我的猜测是如果在那里调用 http 请求根本不可靠)。

我还尝试在全局异常处理程序中启动一个 IntentService,这样我就可以从那里发出请求,但该服务在应用程序崩溃后不会启动。我不知道接下来要尝试什么。

我需要能够立即将错误发送到我们的服务器,而无需使用第 3 方崩溃报告服务(因为这是我们自己构建的)。关于我接下来可以尝试什么的任何提示?

最佳答案

@CommonsWare 的推荐 ACRA 是一个非常好的解决方案。

但是关于:

[...] post request back to our server as soon as the android app crash occurs. [...] I need to be able to send the error to our server straight away [...]

保存报告以便稍后发送,您可以强制应用重新启动,并在重新启动时使用干净的堆栈发送保存的报告。

我用了类似 Ereza/CustomActivityOnCrash 的东西库来做它,它做了什么:

Allows launching a custom activity when the app crashes, instead of showing the hated "Unfortunately, X has stopped" dialog.

所以基本上它会“杀死”您崩溃的应用程序,然后通过友好的 Activity 启动一个新的应用程序。

我用它来显示一个 Activity,告诉用户我们已经收到崩溃,要求写下更多说明以帮助我们解决问题,以及是否希望在修复错误时联系用户。

关于android - 在应用程序崩溃时将堆栈跟踪信息从 Android 应用程序发送到后端服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com