解读Android日志

简介

在日常开发的过程中,必不可少的一项就是对应用的调试,而日志文件作为调试过程中最为重要的一个环节,对它的解读是每个开发人员必不可少的。

在Android中,系统提供了 logcat 工具供开发者抓取日志,最初级的使用方法就是使用 adb logcat 命令直接在控制台输出系统全部的日志,当然一般很少用到这种方法,因为这种方法夹杂着大量的无用信息,后面会介绍怎么专区到自己想要的日志信息以及一些可能出现的坑。

adb

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
    adb 包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。或者,如果您需要独立的 Android SDK 平台工具软件包,也可以点击此处进行下载。别忘了下载解压后将路径添加到环境变量。

Android SDK Platform Tools 是 Android SDK 的一个组件。它包含与 Android 平台进行交互的工具,例如 adb、fastboot 和 systrace。开发 Android 应用时需要使用这些工具。如果您想要解锁设备的引导加载程序并为其刷入新的系统映像,同样需要使用这些工具。

虽然这些工具中的某些新功能仅适用于较新的 Android 版本,但这些工具是向后兼容的,因此您只需要一个版本的 SDK Platform-Tools。

打开手机的开发者模式:Android手机打开开发者模式调试App

Android日志分类

在Android设备中,日志被划分为几个不同的类别,每个类别所对应的的信息也都是不一样的。在Android中,日志主要分为kernel、radio、event、main四种。

kernel

kernel 顾名思义就是内核的意思,内核的日志在日常开发应用的过程中大概率是用不到的,因此并没有开放抓取相应日志的办法。
但是在系统层面开发的时候,可以编译出来debug的包刷入手机然后获取到相应的日志:

adb shell cat /proc/kmsg

radio

这个分类的日志主要适用于RIL(Radio Interface Layer)开发的人员,比如日常生活最重要的移动数据上网、通话、短信等均属于 radio 的研发。

抓取 radio 日志的方法为:

adb logcat -b radio

radio日志

event

event 的日志包含了对于手机基本操作的记录,如打开/关闭一个软件、按下返回键、打开/关闭通知栏等等,抓取方法:

adb logcat -b events

event日志

  • power_screen_state[0,3,0,0]
    • 参数一:灭屏状态(0),亮屏状态(1)
    • 参数二:屏幕超时(3),其他设备管理策略(1),其他理由都为用户行为(2)

main

main 日志是开发软件中最常用到的日志了,在这里你可以看到应用崩溃的具体原因、调试的时候通过 Log.x(TAG, "msg"); 所打印出来的日志,抓取方法:

adb logcat -b main

main日志

Android日志等级

V — verbose

通过 Log.v(TAG,message); 打印出来的日志。

D — debug

通过 Log.d(TAG,message); 打印出来的日志。

I — info

通过 Log.i(TAG,message); 打印出来的日志。

W — warning

通过 Log.w(TAG,message); 打印出来的日志。

出现在 warning 中的日志在分析软件奔溃的原因的时候也是极其重要的,因为它极有可能进一步造成软件的奔溃。

E — error

通过 Log.e(TAG,message); 打印出来的日志。

在 error 中的日志一般是造成App奔溃的原因,这一层的日志需要开发者仔细分析并改正。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷窃月亮的贼

感谢投喂~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值