android - 崩溃时在 SD 卡中写入 logcat 消息

标签 android

我正在开发一个 Android 应用程序。我的应用程序经常崩溃。我想在应用程序崩溃时将 logcat 消息保存在 SD 卡中以查找根本原因。有什么办法可以做到这一点吗?

最佳答案

一些可能帮助您迈向全自动崩溃日志收集的想法。我们还没有在这里推出完整的系统,我们已经很幸运地在设备崩溃后捕获了设备,或者向我们的 QA 小组询问更多信息,但是:

  • ACRA实现起来相对容易,即使你不实现,源码在github上,你可以去翻看。
  • 相关问题Android crash reporting library (pre Froyo)有很多链接和解决方案,包括android-remote-stacktrace ,前述ACRA,Android-Error-Reporter以及其他商业解决方案。
  • 某些设备会自动捕获崩溃输出,您可以通过 adb pull/data/log/dumpstate_app_native.txt.gz 或类似方式获取它 - 路径应显示在 logcat 中。不过,这些往往会在每次崩溃时被覆盖。 (如果有人能回答这是制造商特定的功能还是某些版本的 Android 核心中出现的功能,我很想知道!)
  • 您可以获得一个 logcat 应用程序,例如aLogCat或许多其他,您可以安装在您的设备上。
  • TestFlight Android端即将进入测试阶段;他们在 iOS 端有崩溃报告,在 Android 端也应该如此,使用他们的服务还有其他各种可爱的好处——根据我们的经验,集成非常容易。

如果您要在应用程序中自行部署,则需要 READ_LOGSWRITE_EXTERNAL_STORAGE list 权限(即使对于本地构建),那么您可以使用日志记录 API 或常规 File.copy 甚至对 logcat 本身进行系统调用。这个问题旁边的“相关”链接中有很多选项和示例:

希望这有帮助。

关于android - 崩溃时在 SD 卡中写入 logcat 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16385901/

相关文章:

android - 在 Android 中定位弹出窗口

android - 棉花糖与 SQLite 绑定(bind)数据花费太多时间

java - BaseAdapter 内存不足错误

android - ScrollView 和 Achartengine 位置和崩溃

android - android中如何从mysql数据库下载数据并存储到本地数据库供离线使用?

android - 为什么 Facebook 登录页面无法在 Android 11 的外部浏览器中打开?

java - ListView 不工作?

安卓 PID 问题

java - SetError 图标与其他 edittext 图标重叠

android - 添加 firebase 时 Gradle 出现兼容性错误