如何获得Android的崩溃日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得Android的崩溃日志相关的知识,希望对你有一定的参考价值。
每个android应用都是由一个Application和多个activity或者server构成.应用启动时,会首先启动Application.在Application的onCreate方法中调用
1Thread.setDefaultUncaughtExceptionHandler(handler);
就可以捕获导致应用崩溃的错误信息了.
首先应用要有读写sd卡权限
系统错误后要还是要提示用户系统错误.这个是崩溃activity,
参考技术A 是在开发期间获取的吗?把手机连接到开发环境上,把你的APP发布到手机上运行,当手机发生崩溃后,打开开发环境里的logcat就可以了看到了。常用获取Android崩溃日志和IOS崩溃日志的几种方法
一:前言
在日常测试app时,经常会遇到崩溃问题,测试快速抓取到崩溃日志可以有效方便开发进行定位,快速解决问题所在
测试做到测试分析,定位是非常重要的,这也是判断一个测试能力指标的一大维度。
二:Android崩溃日志
一、通过adb logcat获取
# 清除日志,新手上路时,日志内容很多,对于能毕现的日志,可以先清除后重新获取 adb logcat -c # 然后再次运行崩溃操作,再抓取日志 # 存储日志到当前目录下的 carsh.log 中 adb logcat -d *:W > crash.log # W指的是警告以上日志 # 这个日志文件包含了所有打印的日志,需要自己筛选下崩溃日志,比如搜索 begin、crash、Exception # 为了更精确的筛选日志,可以加入筛选条件 adb logcat -d *:W grep “包名” >crash.log
二、通过Android Studio
在logcat中查看实时日志,需要选择连接的手机和应用包名
三、通过adb shell dumpsys dropbox命令获取
封装成shell脚本,可以快速打印最新的崩溃日志
#!/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"
四、获取ANR日志
# 在/data/anr/目录下存储所有了ANR日志
adb pull /data/anr/ ~/Downloads
五、常见日志类别
常见的异常:javaException(runtimeException):
NullPointerException-空指针引用异常
ClassCastException-类型强制转换异常。
IllegalArgumentException-传递非法参数异常。
ArithmeticException-算术运算异常
ArrayStoreException-向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException-下标越界异常
NegativeArraySizeException-创建一个大小为负数的数组错误异常
NumberFormatException-数字格式异常
SecurityException-安全异常
UnsupportedOperationException-不支持的操作异常
二:iOS崩溃日志
一、iOS手机上获取崩溃日志
路径:设置 -> 隐私 -> 分析 -> 分析数据
这里可以获取手机上的所有崩溃日志。不过日志是密文,需要在xcode中打开,会自动翻译成明文。
二、在xcode中打开崩溃日志
打开xcode,菜单栏选择window,选择 Devices and Simulators,点击View Device Logs,可以看到日志列表。
在日志中主要看Last Exception Backtrace(即发生崩溃的原因,也是我们要研究的重点) 默认是密文,打开后xcode会翻译成明文,需要等待几秒。
三、通过iTunes同步后获取崩溃日志
路径:
Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/
可以看到所有和该电脑同步过的设备的崩溃日志(.crash文件)
以上是关于如何获得Android的崩溃日志的主要内容,如果未能解决你的问题,请参考以下文章