① 抓取android手机log的介绍
本文介绍了抓取Android手机日志的技巧与方法,旨在帮助开发者定位问题、解决问题。为确保获取有效日志,首先需确保手机为debug版本,以获得root权限。
抓取AP log的命令为:adb logcat -b events -b radio -b main -b system -b crash -v threadtime > log.txt。此命令将收集手机操作事件、与modem相关的通话、短信与网络bug日志、系统及crash日志,并显示时间戳,便于问题追踪。日志文件可自定义名称与保存路径,如:adb logcat -b events -b radio -b main -b system -b crash -v time > C:UsersalexDesktoplog.txt。抓取时,不输入此命令将默认包含“-b events -b radio”。
清除历史日志只需执行:adb logcat -c。
搜索特定问题,可通过在日志中搜索关键字。如遇“force close”,搜索“FATAL”关键字,以获取错误类型与代码行,协助定位问题。
抓取ANR(应用程序无响应)日志时,需先获取traces文件与tombstones文件,方法为:
此外,若需获取backtrace日志,可从data/tombstones/文件夹中pull出对应模块的文件。
抓取内核日志方法为:adb root adb remount adb shell cat /proc/kmsg >kernel_log.txt。
蓝牙日志抓取流程包括:adb root、adb remount、开启蓝牙HCI信息收集日志、使用adb logcat命令并保存日志至桌面。
QPST(Qualcomm Parallel Streaming Tool)日志抓取步骤如下:在手机拨号盘输入*#*#248#*#*,选择USB-MODE与TEST_MODE,通过QPST Configuration软件自动抓取DUMP LOG,确保提供对应vmlinux文件(文件位于刷机文件SWImage_PST根目录下)与Modem版本信息。
对于指定app包名的日志抓取,Ubuntu系统可通过grep命令实现,而Windows系统则需先获取app的pid,例如对于包名com.android.camera的app,输入命令:adb shell pidof -s com.android.camera获取pid,再输入:adb logcat --pid=1120抓取特定进程日志,最终可保存至指定路径。
② Android系统的系统日志有哪几个文件,这些文件中包含什么内容
手机的android log(main_log、events_log、kernel_log),mainlog记录手机android上层app以及framework相关活动的log,比如app打印的log。
eventslog主要是ActivityManager、powerManager等相关的log;Kernellog则主要是驱动相关的log。
Modem log,主要是通话相关的,比如信号强弱、连接网络等。netlog,查看网络链接情况,抓取网络包等。其它有data/anr 目录下的traces/tombstones等,分析死机、重启。
mainlog,查看应用申请什么权限,一般不会开放。
(2)安卓modemmp文件在哪个路径扩展阅读:
系统日志的价值
系统日志策略可以在故障刚刚发生时就向你发送警告信息,系统日志帮助你在最短的时间内发现问题。
系统日志是一种非常关键的组件,因为系统日志可以让你充分了解自己的环境。这种系统日志信息对于决定故障的根本原因或者缩小系统攻击范围来说是非常关键的,因为系统日志可以让你了解故障或者袭击发生之前的所有事件。
为虚拟化环境制定一套良好的系统日志策略也是至关重要的,因为系统日志需要和许多不同的外部组件进行关联。良好的系统日志可以防止你从错误的角度分析问题,避免浪费宝贵的排错时间。
另外一种原因是借助于系统日志,管理员很有可能会发现一些之前从未意识到的问题,在几乎所有刚刚部署系统日志的环境当中。
使用系统日志产品当中包含的其他特性,包括向监控团队自动发送报警通知等功能。系统日志基于警报类型或者准确的警报消息,系统日志可以通过触发特定操作来完成。
系统日志通过简单地设定这些警报,你将会在自己的环境中处于更加主动的位置,因为你可以在事故变得更加严重之前得到通知。
③ 手机里native文件夹什么意思
android framework分为java和native两层
native运行于C的runtime,高效。一般java层只是封装,通过jni访问native底层HAL,driver的crash也会导致上层的crash
,有效利用Log信息并对其进行分析与实时的监控管理,对于分析Android手机发生Crash的原因具有极为重要的作用。
Android Log 文件类型
由于Android上的应用程序千差万别,出现的问题也不尽相同。不过Bug类型还是有规律可循的,可以根据生成的Log文件找到相应的错误,通常错误信息里记录了错误的大致位置,据此可以捕获到问题的关键信息。
Log文件记录着每次操作的信息,在出现问题后可以借助log信息分析以达到解决问题的目的,Log文件类型主要分为以下几种:
(1) Logcat: Main缓存日志,通过运行logcat命令,可以获得系统中使用的标记和优先级的列表,也可以加上过滤器进行表达式限制,只输出测试人员及研发人员感兴趣的标记-优先级组合。
……………………
(2) Bugreport: Java应用程序Crash时会产生一个Bugreport文件,该文件主要包括三个方面的内容:
Dumpstate:内存信息,Cpu信息,Procrank信息,系统日志,Vm Trace信息等。
Build.Prop:当前版本、当前命令、显示系统Build的一些属性等;
Dumpsys:Dump Of Service Meminfo(显示某个进程更详细的内存消耗情况以及Native And Java (Dalvik)堆栈的统计数) ;
(3) Crashmp: 每次Crash都会产生一个Crashmp文件,文件包括主日志,Java 堆栈信息,本地调用堆栈,虚拟机/进程堆,Log缓存,内存信息,进程列表,Modem信息,Adb Log等信息;
(4) Bratlog: 测试用例及详细信息;
(5) Logalong: 事件,如手机通讯功能信息等;
(6) Pullfs: Traces(Java 堆栈信息);
(7) Procrank: Uss(Unique Set Size) 值,进程独自占用的物理内存。