【问题标题】:Android: Retrieve logcat before crash (reboot) on a real deviceAndroid:在真实设备上崩溃(重新启动)之前检索 logcat
【发布时间】:2010-07-29 09:54:21
【问题描述】:

我正在开发一个应用程序,在真实设备上进行测试期间,我发现它会崩溃并导致手机重新启动(担心我知道...)

有什么方法可以在手机重新启动之前检索 logcat,因为 logcat 似乎在手机启动时重置。

提前致谢。

【问题讨论】:

标签: android logcat


【解决方案1】:

使用http://code.google.com/p/acra/,这是一个很棒的库,可以将崩溃报告发送到谷歌表单,包括。堆栈跟踪。我在我的应用程序中使用它并且效果很好。如果您在实施它时遇到任何困难,请告诉我。 阅读http://code.google.com/p/acra/wiki/ACRAHowTo,它很容易设置。

【讨论】:

  • 设备肯定会在有机会将日志上传到互联网之前重新启动?
  • 这是不久前我发布答案或使用 Acra 的时候,但很有可能 Acra 在提交之前先将错误日志存储在本地(当互联网连接可用时)。在飞行模式下测试应用程序时,此类功能也很有意义。可能支持 - 如果不支持,可以添加,因为它是开源的。
  • 这里是这样做的方法:实现自己的“发送者”,例如写入本地日志文件。 github.com/ACRA/acra/wiki/…
【解决方案2】:

来自 slashfoo 的博客,(查看 logcat 页面了解确切的语法) 连接您的计算机以在后台启动 logcat 进程。 adb shell nohup logcat -f /dev/[你的 sdcard] -n60 -r3600

虽然这意味着logcat会被保存到sdcard,但是每次重启都需要重新执行一遍。

【讨论】:

  • 如果你有root手机,尝试在init.rc中输入logcat -f [file]
【解决方案3】:

最简单的方法: 从 Market 免费获取 aLogrec。 此应用将日志保存到 sdcard。

【讨论】:

  • 是的,有一些类似的应用程序,还有 CatLog、LogViewer Lite 等。有利于手动日志检查;如果开发人员希望从最终用户那里获得应用程序崩溃(自动在后台),并且 Google Play 错误日志对他来说还不够,Acra 可能是一个很好的解决方案。
  • 从评论看来,aLogrec 没有跟上 android 的步伐,并且由于缺乏对 root 的请求而不再工作。该应用程序的最后一次更新是在 2012 年。
【解决方案4】:

使用 alogrec 程序。将日志写入SD卡,重启后会自动恢复。

【讨论】:

    【解决方案5】:

    2019 年更新后,被 Google 收购的 Fabric 在远程记录应用程序崩溃方面做得非常出色。集成到应用程序很简单,而且是免费的(至少在我使用它的任何级别)。 发现我的应用程序中的缺陷非常有价值。

    https://www.fabric.io

    【讨论】:

      【解决方案6】:

      尝试打开终端/命令提示符并在其中发出:
      adb -d logcat
      这应该会转储您可以阅读以找到问题的 logcat 的实时版本

      【讨论】:

      • 对不起,如果我没有在问题中说清楚,但这是不可能的,因为我不想经常随身携带我的电脑直到它崩溃:P 只是希望那里是一种将 logcat 保存到 sd 之类的方法。
      猜你喜欢
      • 2020-04-23
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-27
      • 1970-01-01
      相关资源
      最近更新 更多