我为工业流程编写了一个 Android 应用程序。当我开发时,连接到 PC、Eclipse 等,我很少看到崩溃。但我时常会收到来自现场的报告,甚至是我们自己的内部测试人员关于应用程序崩溃和强制停止的报告。我永远无法重现这些,但我需要找出导致它们的原因。
我希望能够在发生崩溃时获得 Windows-DrWatson 风格的转储。在崩溃后,我可以选择哪些方法来检测我的代码以获取事后信息?我想以编程方式读取 logcat 消息,而不是连接到 PC。我还想要一个堆栈转储。我还想知道操作系统 POV 发生了什么,例如正在运行什么线程、正在使用什么资源、最近的 TCP Activity 等。
我最好的选择是什么?提前致谢。
最佳答案
What are my options for instrumenting my code to get a postmotem after a crash?
如果您通过 Play 商店分发此内容(在本例中似乎不太可能),如果用户选择报告崩溃,它将显示在您的开发者控制台中。
否则,请使用 ACRA将崩溃信息发送到您喜欢的任何地方,或者使用 Thread.setDefaultUncaughtExceptionHandler() 滚动您自己的东西。
关于Android 在现场崩溃 - 如何记录/读取崩溃时的事件和状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294354/