Android平台下奔溃Crash和无响应ANR日志抓取分析

news2024/12/24 20:47:11

一、使用AndroidStudio

在logcat中查看实时日志,需要选择连接的手机和应用包名

AS下载链接

二、使用adb shell dumpsys dropbox命令获取

#!/bin/bash
# path="/data/system/dropbox"   # 在手机这个目录下存储了崩溃日志
newest_time=$(adb shell dumpsys dropbox | grep 'data_app_crash' | awk 'END {print $1,$2}')
adb shell dumpsys dropbox --print ${newest_time}
# echo -e "时间是:${newest_time}"

三、使用adb+logcat获取

# 清除日志,日志内容很多,对于能毕现的日志,可以先清除后重新获取
adb logcat -c
# 然后再次运行崩溃操作,再抓取日志
# 存储日志到当前目录下的 carsh.log 中
adb logcat -d *:W > crash.log 
# W指的是警告以上日志
# 这个日志文件包含了所有打印的日志,需要自己筛选下崩溃日志,比如搜索 begin、crash、Exception
# 为了更精确的筛选日志,可以加入筛选条件
adb logcat -d *:W grep "包名" >E:\crashlog2.txt

四、获取无响应ANR的日志

# 在/data/anr/目录下存储所有了ANR日志(Application Not Responding)
adb pull /data/anr/ ~/Downloads

五、常见的异常汇总

NullPointerException:指针为空异常

java.lang.NullPointerException: Attempt to invoke virtual method ‘…’ on a null object reference
ClassCastException:类型转换异常

java.lang.ClassCastException: … cannot be cast to …
IllegalArgumentException:非法参数异常

java.lang.IllegalArgumentException: … is not a valid argument
IllegalStateException:非法状态异常

java.lang.IllegalStateException: … is not in a valid state
IndexOutOfBoundsException:越界异常

java.lang.IndexOutOfBoundsException: Index … out of bounds for length …
OutOfMemoryError:内存溢出错误

java.lang.OutOfMemoryError: Failed to allocate a … byte allocation with … free bytes and …MB until OOM, target footprint …MB, growth limit …MB
NoSuchMethodError:方法不存在错误

java.lang.NoSuchMethodError: … method not found
ArithmeticException:算术异常

java.lang.ArithmeticException: … / by zero
SecurityException:安全异常

java.lang.SecurityException: … not allowed to perform operation
NetworkOnMainThreadException:主线程网络异常

android.os.NetworkOnMainThreadException
InflateException:布局解析异常

android.view.InflateException: Binary XML file line #…: Error inflating class …
ResourcesNotFoundException:资源未找到异常

android.content.res.Resources$NotFoundException: Resource ID #… not found
SQLiteDatabaseLockedException:SQLite数据库锁定异常

android.database.sqlite.SQLiteDatabaseLockedException: database is locked
SQLiteException:SQLite数据库异常

android.database.sqlite.SQLiteException: … error code …
StaleDataException:数据过期异常

android.database.StaleDataException: Attempted to access a cursor after it has been closed.
VerificationError:验证错误

java.lang.VerifyError: … access … from incompatible class …
AssertionError:断言错误

java.lang.AssertionError: … assertion failed
NoSuchAlgorithmException:加密算法不存在异常

java.security.NoSuchAlgorithmException: … algorithm not available
SocketException:Socket异常

java.net.SocketException: … failed: ECONNREFUSED (Connection refused)
SSLException:SSL异常

javax.net.ssl.SSLException: … SSL handshake aborted
FileNotFoundException:文件未找到异常

java.io.FileNotFoundException: … (No such file or directory)
IOException:IO异常

java.io.IOException: … (Connection timed out)
ParseException:解析异常

java.text.ParseException: Unparseable date: “…”
JSONException:JSON解析异常

org.json.JSONException: … at character …
SAXException:SAX解析异常

org.xml.sax.SAXException: … at line …
NumberFormatException:数字格式化异常

java.lang.NumberFormatException: For input string: “…”
IllegalStateException:线程状态异常

java.lang.IllegalStateException: Cannot execute task: the task is already running.
ConcurrentModificationException:并发修改异常

java.util.ConcurrentModificationException: … (java.util.ConcurrentModificationException)
UnsupportedOperationException:不支持的操作异常

java.lang.UnsupportedOperationException: … not supported
InterruptedException:线程中断异常

java.lang.InterruptedException: sleep interrupted
RuntimePermission:权限异常

java.lang.RuntimePermission: … permission required
AuthenticationException:认证异常

org.apache.http.client.ClientProtocolException: … (authentication challenge)
FileNotFoundException:未找到文件异常

java.io.FileNotFoundException: … File not found.
UnsupportedOperationException:不支持的操作异常

java.lang.UnsupportedOperationException: … not supported
EOFException:文件结尾异常

java.io.EOFException: … end of file reached
ConnectException:连接异常

java.net.ConnectException: … Connection refused
SocketTimeoutException:Socket超时异常

java.net.SocketTimeoutException: … Read timed out
JNIException:Java本机接口异常

java.lang.reflect.InvocationTargetException: JNI Exception: …
NoSuchProviderException:提供程序不存在异常

java.security.NoSuchProviderException: Provider … not found
Surface.OutOfResourcesException:Surface资源耗尽异常

android.view.Surface$OutOfResourcesException: … (Surface with no valid EGLContext)
WindowManager.BadTokenException:无效的Window Token异常

android.view.WindowManager$BadTokenException: … is not valid; is your activity running?
TimeoutException:超时异常

java.util.concurrent.TimeoutException: … timeout
SSLHandshakeException:SSL握手异常

javax.net.ssl.SSLHandshakeException: … SSL handshake aborted
SAXParseException:SAX解析异常

org.xml.sax.SAXParseException: … at line …
IllegalStateException:未知的Bundle标记异常

java.lang.IllegalStateException: Unknown Bundle Marker at position …: …
IllegalArgumentException:传递了错误的方位坐标

java.lang.IllegalArgumentException: Point (?, ?) must be in the range ? <= x <= ? and ? <= y <= ?
SQLiteReadOnlyDatabaseException:SQLite只读数据库异常

android.database.sqlite.SQLiteReadOnlyDatabaseException: attempt to write to a readonly database
SQLException:SQL异常

java.sql.SQLException: … SQL exception
ZipException:压缩文件异常

java.util.zip.ZipException: … Not in GZIP format
DifferentKeyException:与此密钥不相关的密钥异常

java.security.spec.InvalidKeySpecException: Inappropriate key specification: Different key pair generated for given keyUsageInfo

六、参考链接

50个Android开发中常见的异常崩溃情况

Android崩溃日志获取方式

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

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

相关文章

JK405R-SOP16录音芯片ic方案的测试板使用说明以及咪头如何选择

目录 2.1芯片硬件说明 注意事项 1、供电最高5.2V&#xff0c;最低2.6V。芯片的11脚是唯一的电源输入&#xff0c;供电电压越低扬声器声音越小 2、注意音频地和数字地要在供电的入口处短接 3、USB引脚一定要留出测试&#xff0c;也可以升级固件 4、10脚为芯片输出的3.3V&am…

旭雅阁私人博物馆 钱币博物馆

一、旭雅阁博物馆简介 旭雅阁博物馆&#xff0c;成立于2018年&#xff0c;是一家以古钱币、老钱币、字画等为主的专题博物馆&#xff0c;主要从事钱币的收藏、研究和展示&#xff0c;肩负有指导和推动钱币收藏、研究及宣传钱币文化的任务。旭雅阁博物馆&#xff0c;坐落于湖南…

个人博客网站一揽子:Docker建站(Nginx、Wordpress、MySql)

前言 既然安装了Docker&#xff0c;那就不妨建立一个自己的博客网站。实现内外网隔离网站部署&#xff0c;更安全。 1.创建Docker子网络 首先创建一个Docker虚拟子网&#xff1a; sudo docker network create wpnt检查是否建立成功&#xff1a; sudo docker network ls最后…

PyTorch实战:实现MNIST手写数字识别

前言 PyTorch可以说是三大主流框架中最适合初学者学习的了&#xff0c;相较于其他主流框架&#xff0c;PyTorch的简单易用性使其成为初学者们的首选。这样我想要强调的一点是&#xff0c;框架可以类比为编程语言&#xff0c;仅为我们实现项目效果的工具&#xff0c;也就是我们…

AI绘图提示词Stable Diffusion Prompt 笔记

基础 提示词分为正向提示词&#xff08;positive prompt&#xff09;和反向提示词&#xff08;negative prompt&#xff09;&#xff0c;用来告诉AI哪些需要&#xff0c;哪些不需要词缀的权重默认值都是1&#xff0c;从左到右依次减弱&#xff0c;权重会影响画面生成结果。AI …

登录认证方式汇总,例如ThreadLocal+拦截器+Redis、JWT

登录方式汇总 先讲讲传统的登录方式 1.Cookie方案 用cookie作为媒介存放用户凭证。 用户登录系统之后&#xff0c;会返回一个加密的cookie&#xff0c;当用户访问子应用的时候会带上这个cookie&#xff0c;授权以解密cookie并进行校验&#xff0c;校验通过后即可登录当前用…

基于Java的高校竞赛管理系统设计与实现(亮点:发起比赛、报名、审核、评委打分、获奖排名,可随意更换主题如蓝桥杯、ACM、王者荣耀、吃鸡等竞赛)

高校竞赛管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序&#xff08;小蔡coding&#xff09;2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述4.2 系统角色 五、系统…

linux常用命令(1):zip/unzip命令(压缩文件/解压缩文件)

文章目录 前言一、linux安装zip文件二、zip语法2.1、常用选项实例2.1.1、-r &#xff08;压缩文件夹&#xff0c;解决80%的场景&#xff09;2.1.2、-q2.1.3、-d&#xff08;从压缩文件中删除指定文件&#xff09;2.1.4、-u&#xff08;更新文件&#xff09;2.1.5、-f2.1.6、-m2…

leetcode1797. 设计一个验证系统(java)

设计一个验证系统 题目描述哈希表题目描述 题目描述 难度 - 中等 leetcode1797. 设计一个验证系统 你需要设计一个包含验证码的验证系统。每一次验证中&#xff0c;用户会收到一个新的验证码&#xff0c;这个验证码在 currentTime 时刻之后 timeToLive 秒过期。如果验证码被更新…

XGBoost算法讲解和公式推导

本文节选自《机器学习入门基础&#xff08;微课版&#xff09;》 10.5 XGBoost 算法 XGBoost 是 2014 年 2 月由华盛顿大学的博士生陈天奇发明的基于梯度提升算法(GBDT)的机器学习算法&#xff0c;其算法不但具有优良的学习效果&#xff0c;而且训练速度高效&#xff0c;在数据…

Linux下的系统编程——线程同步(十三)

前言&#xff1a; 在多线程编程中&#xff0c;如果多个线程同时访问和修改共享资源&#xff0c;可能会产生竞争条件和数据不一致的问题。同步机制用于协调线程之间的访问和操作&#xff0c;确保数据的正确性和一致性。为了避免多个线程同时访问和操作共享资源导致的问题&#…

小程序键盘没有【小数点】输入

<input v-model"formData.number" :auto-height"true" placeholder"请输入" confirm-type"done" type"digit" maxlength"11" input"inputNumber" />number&#xff1a;数字键盘&#xff08;没有小…

Minitab Express for Mac(数据分析软件)附破解补丁 v1.5.0 支持M1

Minitab Express是一款专为Mac用户设计的数据分析和统计软件。它提供了一套全面的工具和功能&#xff0c;用于分析数据、执行统计计算和生成可视化。 下载&#xff1a;Minitab Express for Mac(数据分析软件)附破解补丁 以下是 Minitab Express for Mac 的一些主要功能&#x…

随机森林案例分析

阅读随机森林模型前&#xff0c;建议首先阅读决策树模型手册&#xff08;点击后跳到决策树模型的帮助手册页面&#xff09;&#xff0c;因为随机森林模型实质上是多个决策树模型的综合&#xff0c;决策树模型只构建一棵分类树&#xff0c;但是随机森林模型构建非常多棵决策树&a…

数字虚拟人制作简明指南

如何在线创建虚拟人&#xff1f; 虚拟人&#xff0c;也称为数字化身、虚拟助理或虚拟代理&#xff0c;是一种可以通过各种在线平台与用户进行逼真交互的人工智能人。 在线创建虚拟人变得越来越流行&#xff0c;因为它为个人和企业带来了许多好处。 推荐&#xff1a;用 NSDT编辑…

阿里云无影云电脑和传统PC有什么区别?

阿里云无影云电脑和传统电脑PC有什么区别&#xff1f;区别大了&#xff0c;无影云电脑是云端的桌面服务&#xff0c;传统PC是本地的硬件计算机&#xff0c;无影云电脑的数据是保存在云端&#xff0c;本地传统PC的数据是保存在本地客户端&#xff0c;阿里云百科分享阿里云无影云…

低代码与低代码平台

随着数字化转型和软件需求的不断增长&#xff0c;传统的手写代码开发方式已经无法满足迅速推出应用程序的需求。为了加快软件开发的速度并降低技术门槛&#xff0c;低代码开发模式应运而生。本文将介绍低代码的概念&#xff0c;探讨什么是低代码、什么是低代码平台&#xff1f;…

RFID设备在自动化堆场中的管理应用

随着信息技术的高速发展&#xff0c;带动了港口生产和管理技术的长足进步&#xff0c;港口堆场内的自动化场桥的智能化水平成为码头提高生产率一个重要标签。各地海关着力于现代化科技手段&#xff0c;努力构筑新型的便捷通关模式&#xff0c;在进出口环节做好管理和服务。 全…

已解决 Kotlin Error: Type mismatch: inferred type is String but Int was expected

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…

idea之maven的安装与配置

我们到maven的官网里下载maven&#xff0c;地址&#xff1a;https://maven.apache.org/download.cgi下载完成后解压即可配置环境变量 此电脑–>右键–>属性–>高级系统设置–>环境变量–>系统变量&#xff08;S&#xff09;–>新建一个系统变量 变量名&…