Android日志[进阶篇]四-获取错误报告

Android日志[进阶篇]一-使用 Logcat 写入和查看日志
Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈)
Android日志[进阶篇]三-Logcat命令行工具
Android日志[进阶篇]四-获取错误报告
Android日志[进阶篇]五-阅读错误报告

目录

    • 前言
    • 从设备上获取错误报告
    • 从 Android 模拟器上获取错误报告
    • 使用 adb 获取错误报告
    • 检查错误报告 ZIP 文件
    • 从用户那里获取报告
      • 腾讯Bugly
      • 友盟
      • Google Play 管理中心
      • Firebase 崩溃报告

前言

大多数人都习惯断点调试,断点复现,但往往效率低下且面对上线后出现的问题无从下手,本文介绍错误日志的获取,logcat之外的日志,也就是线上运行日志或用户设备的日志。

错误报告包含设备日志、堆栈轨迹和其他诊断信息,可以帮助我们查找和修复应用中的错误。通过以下几种方式可以从设备上获取错误报告:使用设备上的生成错误报告开发人员选项、Android 模拟器菜单或开发机器上的 adb bugreport 命令。

在这里插入图片描述

图 1. 开发人员选项

如需生成错误报告,必须在设备上启用开发者选项,以便访问生成错误报告(提交错误报告)选项。

从设备上获取错误报告

在这里插入图片描述

图 2. 错误报告已准备就绪

如需直接从设备上获取错误报告,请执行以下操作:

  1. 确保设备已启用开发人员选项。
  2. 开发者选项中,点按提交错误报告
  3. 选择所需的错误报告类型(完整或互动式),然后点按报告

    接着收集并提取相关的错误报告,可以从状态栏中看到这个过程,也可以重新命名报告的最终文件名,稍后,便会收到错误报告已准备就绪的通知(参见图 2)。

  4. 如需分享错误报告,请点按该通知。系统会根据可分享的渠道进行分享,如蓝牙等方式传输到电脑

从 Android 模拟器上获取错误报告

在 Android 模拟器中,使用“Extended controls”窗口中的 File a bug 功能:

  1. 点击模拟器面板中的 More 图标 。
  2. Extended controls 窗口中,选择左侧的 Bug report

    此时系统会打开一个屏幕,可以在其中查看错误报告详细信息,例如屏幕截图、AVD 配置信息和错误报告日志。还可以输入一条包含重现步骤的消息,以便与报告一起保存。

  3. 等待错误报告完成收集,然后点击 Save Report

使用 adb 获取错误报告

如果只连接了一台设备,则可以使用 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-BUILD_ID-DATE.zip (bugreport-ANE-AL00-HUAWEIANE-AL00-2021-09-10-17-00-09.zip),它可能会包含多个文件,但最重要的文件是 bugreport-BUILD_ID-DATE.txt (bugreport-ANE-AL00-HUAWEIANE-AL00-2021-09-10-17-00-09.txt)。此文件就是错误报告,它包含系统服务 (dumpsys)、错误日志 (dumpstate) 和系统消息日志 (logcat) 的诊断输出。系统消息包括设备抛出错误时的堆栈轨迹,以及从所有应用中使用 Log 类写入的消息。

ZIP 文件中有一个 version.txt 元数据文件,其中包含 Android 版本号,而且启用 systrace 后,ZIP 文件中还会包含 systrace.txt 文件。Systrace 工具 可以获取并显示应用进程和其他 Android 系统进程的执行时间,从而帮助分析应用的性能。

dumpstate 工具会将文件从设备的文件系统复制到 ZIP 文件的 FS 文件夹下,以便引用它们。例如,设备中的 /dirA/dirB/fileC 文件会在 ZIP 文件中生成 FS/dirA/dirB/fileC 条目。

在这里插入图片描述
图 3. 错误报告文件结构

如需了解详情,请参阅Android日志[进阶篇]五-阅读错误报告。

从用户那里获取报告

如上所述,开发者使用应用时,获取错误报告非常有用,但最终用户无法轻松地与您分享这些类型的错误报告。如需从真实用户那里获取包含堆栈轨迹的崩溃报告,应该利用 Google Play 和 Firebase 的崩溃报告功能。国内一般使用腾讯bugly和友盟的sdk完成。

腾讯Bugly

支持android 和ios ,文档入口 ,app 需要集成Bugly的SDK,文档有关于android studio和eclipse的集成说明,同时支持离线sdk和远程仓库的依赖,请更新需要进行选择。集成完成以后留意bugly的应用运行情况,可以查看到崩溃记录以及堆栈信息。

友盟

也支持android 和ios,文档入口-应用性能监控 U-APM,app也需要集成友盟的sdk后进行发布。当然需要的帐号需要各位自行去了解和申请。

Google Play 管理中心

由于各种不方便,这个国内基本没人使用,

可以从 Google Play 管理中心获取报告,以便查看从 Google Play 安装应用的用户那里收集的有关崩溃和应用无响应 (ANR) 错误的数据。可以查看过去六个月的数据。

如需了解详情,请参阅 Play 管理中心帮助中心内的查看崩溃和应用无响应 (ANR) 错误。

Firebase 崩溃报告

Firebase Crashlytics 报告会创建有关应用中出现的错误的详细报告。此报告会基于错误是否具有相似堆栈轨迹将其分门别类,并根据错误对用户所产生影响的严重程度进行分级。除自动发送的报告外,您还可以通过记录自定义事件获知导致应用崩溃的操作。

需<将 Firebase 依赖项添加到 build.gradle 文件,即可开始接收用户发送的崩溃报告。如需了解详情,请参阅 Firebase Crashlytics。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下列哪个适合做链栈_朋友圈人格图鉴:三天可见 vs 全部可见,哪个更适合做恋人?...

你们的朋友圈里有没有这样几种人&#xff1f;<< 朋友圈大赏 >>你可能已经对这些朋友圈的风格习以为常&#xff0c;其实&#xff0c;每个人在朋友圈展示的语言、行为&#xff0c;可能默默揭示着一个人自己原本是怎样的人、想成为什么样的人&#xff0c;以及与他人的…

iatf16949内审员_申请IATF16949认证有什么要求

1、证件要求必须要提供三证合一的营业执照&#xff08;在有效期内&#xff09;&#xff0c;营业执照的范围必须与申请IATF16949认证范围一致。2、处于汽车供应链的证明因为IATF16949认证要求厂家必须是直接与生产汽车有关的&#xff0c;具有加工制造能力&#xff0c;并通过这种…

GenseeSDK DocView(OpenGL)引起的TextView显示黑块

现象 先上图&#xff1a; 正常的图&#xff1a; 来到这的大侠是否也出现了同样的问题。 操作与描述 退出直播播放器后&#xff0c;整个app界面所有的TextView(EditText/Button)都显示为黑块。 快速解决 退出直播或点播后不要调用DocView的closeDoc函数即可&#xff0c;当…

Android WebView https白屏、Http和Https混合问题、证书配置和使用

目录前言启用https后白屏&#xff08;证书错误&#xff09;修改处理WebView中Http和Https混合问题处理办法Webview的几种内容加载模式证书配置或处理https请求的证书okhttp进行请求&#xff1a;HttpsURLConnection忽略证书前言 原有项目中有部分界面是用webview展现的h5页面&am…

tensorrt轻松部署高性能dnn推理_基于TensorRT车辆实时推理优化

基于TensorRT车辆实时推理优化Optimizing NVIDIA TensorRT Conversion for Real-time Inference on Autonomous Vehicles自动驾驶系统使用各种神经网络模型&#xff0c;这些模型要求在GPU上进行极其精确和高效的计算。Zoox是一家全新开发robotaxis的初创公司&#xff0c;充分利…

手机上网流量统计_数据统计 | 上半年手机流量同比增110.2%,你贡献了多少?

来源&#xff1a;工信部网站、中新经纬版权申明&#xff1a;内容来源网络&#xff0c;版权归原创者所有。除非无法确认&#xff0c;我们都会标明作者及出处&#xff0c;如有侵权烦请告知我们&#xff0c;我们会立即删除并表示歉意。谢谢&#xff01;7月25日&#xff0c;工信部网…

mybatis insert插入成功返回0_mybatis添加客户

在MyBatis的映射文件中&#xff0c;添加操作是通过元素来实现的。例如&#xff0c;向数据库中的t_customer表中插入一条数据可以通过如下配置来实现。在上述配置代码中&#xff0c;传入的参数是一个Customer类型&#xff0c;该类型的参数对象被传递到语句中时&#xff0c;#{use…

Andoid TextView显示富文本html内容及问题处理

目录富文本内容与效果TextView HtmlImageGetter 处理图片(表情)TagHandler 处理html内容的节点Html的转换过程HtmlToSpannedConverterhandleStartTagstartCssStyle(mSpannableStringBuilder, attributes)字体无效果实现getForegroundColorPattern颜色不显示的坑处理办法颜色修…

Java错误:找不到或无法加载主类

目录前言javac xxx.java 编译需要相对物理路径java xxx 执行需要虚拟路径总结前言 一般情况下&#xff0c;我们都使用工具进行代码的编辑和调试&#xff0c;例如eclipse 、Manven、Android Studio、sublime、vim、notepad、记事本等。 当我们用eclipse android studio等创建的p…

步苹果iOS的后尘,谷歌Android12“翻车”,更新需谨慎?

苹果不论电脑还是移动设备&#xff0c;都是一如既往的“强硬”。说实话&#xff0c;忽视“兼容”&#xff0c;体验极低。 有小伙伴调侃&#xff1a;人家就是要你买新机器。也有小伙伴&#xff08;包括我在内&#xff09;&#xff0c;直接关闭系统自动更新。 开发者&#xff1a…

Android Studio无线连接设备调试,比数据线更方便

前言 一般情况下&#xff0c;多数移动开发者使用的是数据线连接电脑&#xff0c;进行各种移动设备的调试&#xff0c;更有胜者&#xff0c;非常迷恋模拟器&#xff0c;模拟器它好不好&#xff0c;答案是好&#xff0c;因为直接运行在电脑上&#xff0c;直接操作&#xff0c;调试…

GenseeSDK 使用Kotlin要注意TODOAndroid Studio关闭TODO

目录一、Kotlin的TODO二、GenseeSDK与TODO 请注意三、Android studio关闭TODO一、Kotlin的TODO 在实现一些接口时候&#xff0c;工具自动将所有的接口函数"空"实现&#xff0c;并在函数体中增加一行代码&#xff1a; TODO或TODO(“not implemented”) 作为提醒催促…

OpenCV Mat基础认知感

OpenCV是一个开源的供开发的计算机视觉处理库&#xff0c;涵盖的内容包括图像处理&#xff0c;机器学习。由c到c &#xff0c;再到各平台的跨平台框架。 Mat - 图像容器 Mat类用于表示一个多维的单通道或者多通道的稠密数组。能够用来保存实数或复数的向量、矩阵&#xff0c;…

C++期末实践程序设计与数组作为参数的注意事项

目录小表弟发来的求助信号要点代码文件头文件Student.h源文件Student.cppmain.c执行结果c数组特性以及数组做形参的特点数组试验数组特殊性质不允许拷贝和赋值数组是通常被转化成指针使用数组形参多种写法代理模式MVC模式小表弟发来的求助信号 并补充说要5种写法才算过关。 要…

windows 7远程桌面和被远程连接电脑启动远程桌面服务

目录远程桌面连接开启远程桌面服务&#xff08;被连电脑&#xff09;配置启动远程桌面服务远程桌面连接 这部分主要讲解如何通过一台windows 电脑的远程桌面程序连接"远程"电脑桌面。前提是被连的那台电脑已开启远程桌面服务。远程桌面服务开启之后&#xff0c;可以…

表单和字都居中_APP 分享 | 6 款黑科技工具,低调收藏,每一款都很强大!

iSlide 简单、高效地制作PPT使用环境: Windows使用要求: Office 2010 及以上版本授权状况: 无广告 有付费功能官网地址: www.islide.ccSlide是一款基于PowerPoint的插件工具,功能十分强大,高效做PPT必备利器一键优化:将PPT中不规则的字体,段落,色彩,参考线…

Android studio gradle task list 不显示问题

问题描述 新电脑安装android studio后&#xff0c;导入工程&#xff0c;各种配置都弄好变更好&#xff0c;出现了如下情况&#xff1a; 之前习惯的gradle task 不在列表中&#xff0c;好不习惯。 正常期望如下&#xff1a; 处理方法 快捷键Ctrl Alt S或者 file -> se…

Android Studio Gradle输出信息乱码

在更换android studio 版本之后&#xff0c;一般windows 版本在项目构建过程中&#xff0c;gradle 相关的信息输出&#xff0c;会出现乱码&#xff0c;基本上明知是字符编码的问题&#xff0c;但看着就是不爽&#xff0c;例如下面这的情形&#xff1a; ע: ijЩ&#xfffd;&am…

Edge 修改字符编码(详细图文)

Microsoft Edge 版本 97.0.1072.62 (官方内部版本) (64 位) 前言 如下图&#xff0c;在访问页面时出现乱码&#xff0c;而且一直返回的内容编码是UTF-8&#xff0c;但Edge没找快捷的编码方式选择 方法一 Internet Explorer 模式加载 打开Edge浏览器 点击Edge右上角三点 点…

【Android】Unresolved reference: databinding

检查配置 对应module的build.gradle是否添加了databinding配置 buildFeatures {viewBinding true } // 或者 dataBinding {enabled true }检查包名(特别注意) 报错的包名是否和app包名一致。 例如app包名是 com.xxx.app 而报错的代码中binding的包名路径不在app包名下&…