我已经编写了一个应用程序,在某些设备上,使用该应用程序会冻结系统。我的主要问题是,我没有获得任何日志信息,因为一旦设备冻结,日志记录就会完全停止,显然崩溃报告通常会在崩溃后生成,因为设备已冻结
我已经通过adb(通过USB)将设备连接到我的笔记本电脑并对所有内容进行了logcat,但是当设备冻结时,日志记录才会停止。我还检查了所有可能的日志位置(我使用this reference)并找不到任何内容。
由于应用程序仅在大约10%的设备上崩溃(设备相同且具有相同的固件),我需要在设备上测试应用程序并且无法使用模拟器。但是,如果应用程序崩溃,我可以使用adb monkey重现崩溃。另一方面,90%的adb monkey不会使设备崩溃。
还有什么我可以记录/测试/检查吗?一旦设备被冻结,有没有办法获得内存转储?
虽然我不认为这是相关的:该设备是XORO 9718DR平板电脑,设备已植根。该应用程序由我自己编写,市场上没有。它主要只使用Buttons,TextView,ImageView,HttpClientConnection,Threads,AsyncTasks和其他“普通”的Android东西。它甚至不使用webview。
答案 0 :(得分:0)
您应该能够在几乎任何创建应用程序的设备上写入永久存储中的日志,将执行代码的每一行都回显到该存储。这样,如果设备挂起,您可以在重新启动时读取您的日志并查看最后一个语句是什么。您可以使用一种功能自动将任何日志文件上传到您的服务器,然后将其从设备中删除,该设备在应用程序启动时执行。因此,无论发生什么,您始终都会记录执行的最后一行。