设备上获取错误报告:使用设备上的生成错误报告开发者选项、Android Emulator 菜单或开发计算机上的 adb bugreport
命令。(要获取错误报告,您必须在设备上启用开发者选项,以便访问生成错误报告选项。)
1.设备上的生成错误报告
请执行以下操作:
- 确保您已启用开发者选项。
- 在开发者选项中,点按生成错误报告。
- 选择所需的错误报告类型,然后点按报告。稍后,您便会收到错误报告已准备就绪的通知(参见图 2)。
- 要分享错误报告,请点按该通知。
2.Android Emulator 菜单
在 Android Emulator 中,您可以使用“Extended controls”窗口中的 File a bug 功能:
- 点击模拟器面板中的 More 。
在 Extended controls 窗口中,选择左侧的 Bug report。
此时系统会打开一个屏幕,您可以在其中查看错误报告详细信息,例如屏幕截图、AVD 配置信息和错误报告日志。您还可以输入一条包含复制步骤的消息,以便与报告一起保存。
等待错误报告完成收集,然后点击 Save Report。
3.adb bugreport
命令
如果您只连接了一台设备,则可以使用 adb
获取错误报告,如下所示:
$ adb bugreport E:\Reports\MyBugReports
如果您没有指定错误报告的路径,则系统会将其保存到本地目录。
如果您连接了多台设备,则必须使用 -s
选项指定设备。运行以下 adb
命令可获取设备序列号并生成错误报告。
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
检查错误报告 ZIP 文件
ZIP 文件称为 bugreport--.zip
,它可能会包含多个文件,但最重要的文件是 bugreport--.txt
。此文件就是错误报告,它包含系统服务 (dumpsys
)、错误日志 (dumpstate
) 和系统消息日志 (logcat
) 的诊断输出。系统消息包括设备抛出错误时的堆栈轨迹,以及从所有应用中使用 Log
类写入的消息。
ZIP 文件中有一个 version.txt
元数据文件,其中包含 Android 版本号,而且启用 systrace 后,ZIP 文件中还会包含 systrace.txt
文件。Systrace 工具可以获取并显示应用进程和其他 Android 系统进程的执行时间,从而帮助分析应用的性能。
dumpstate
工具会将文件从设备的文件系统复制到 ZIP 文件的 FS
文件夹下,以便您引用它们。例如,设备中的 文件会在 ZIP 文件中生成 条目。
从用户那里获取报告
要从真实用户那里获取包含堆栈轨迹的崩溃报告,您应该利用 Google Play 和 Firebase 的崩溃报告功能。
Google Play 管理中心
您可以从 Google Play 管理中心获取报告,以便查看从 Google Play 安装您的应用的用户那里收集的有关崩溃和应用无响应 (ANR) 错误的数据。您可以查看过去六个月的数据。
如需了解详情,请参阅 Google Play 管理中心帮助中心内的查看崩溃和应用无响应 (ANR) 错误。
Firebase 崩溃报告
Firebase 崩溃报告会创建有关应用中出现的错误的详细报告。此报告会基于错误是否具有相似堆栈轨迹将其分门别类,并根据错误对用户所产生影响的严重程度进行分级。除自动发送的报告外,您还可以通过记录自定义事件获知导致应用崩溃的操作。
您只需将 Firebase 依赖项添加到 build.gradle
文件,即可开始接收任何用户发送的崩溃报告。如需了解详情,请参阅 Firebase 崩溃报告。