一种通过自动脚本抓取Android 手机log的方法
来源:互联网 发布:郎咸平小三 知乎 编辑:程序博客网 时间:2024/04/28 10:32
一种通过自动脚本抓取Android 手机log的方法
作者:Amour.Wang
对于android 手机调试或测试中经常需要查看手机的logcat 输出,对于开发者平时一般都是直接使用IDE 查看logcat 输出,但是在有些情况下比如:1.单纯做测试,IDE 工具保存比较麻烦,或者没有IDE 工具的情况下,这时如果需要抓手机log 就比较麻烦。 本文主要针对在没有安装android 开发环境或不想每次都打开IDE 抓log 的情况下,提供了一下方便抓log的脚本及配置,本文的最后提供工具的下载。
一、Logcat 的简单介绍
1、安装好android 设备驱动后,配置好ADB 环境变量后,就可以直接在windows 的命令行窗口输入 adb logcat 就会显示当前的log
二、过滤器的使用
网上太多的文章都写的太详细了,在我自己看来反而觉得有点不太好理解,我下面用3个简单的实例说明一下
1. 过滤某个级别的log,如下即过滤Warning 以上级别的
adb logcat *:W
2. 过滤 tag 为 ActivityManager级别为I 以上的
adb logcatActivityManager:I
3. 过滤 tag 为 ActivityManager级别为I 以上的 或者 tag 为 MyApp log级别为d 以上的
adb logcatActivityManager:I MyApp:d
三、输出格式
日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特 定的元数据域。可以通过 -v 选项得到格式化输出日志的相关信息.
这边还是通过一个常用的例子来说明
adb logcat –v time 通过 –v time 使输出的log 包含时间
如下为具体的标签说明
brief — Display priority/tag and PID of originating process (thedefault format).
process — Display PID only.
tag — Display the priority/tag only.
thread — Display process:thread and priority/tag only.
raw — Display the raw log message, with no other metadata fields.
time — Display the date, invocation time, priority/tag, and PID of theoriginating process.
long — Display all metadata fields and separate messages with a blanklines.
其他命令参考:
Option
Description
-b<buffer>
加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.
-c
清楚屏幕上的日志.
-d
输出日志到屏幕上.
-f<filename>
指定输出日志信息的<filename> , 默认是stdout .
-g
输出指定的日志缓冲区,输出后退出.
-n <count>
设置日志的最大数目<count> ., 默认值是4,需要和 -r 选 项一起使用。
-r <kbytes>
每<kbytes> 时 输出日志,默认值为16,需要和-f 选 项一起使用.
-s
设置默认的过滤级别为silent.
-v <format>
设置日志输入格式,默认的是brief 格 式,
要知道更多的支持的格式,参看Controlling Log Output Format.
四.自动log 工具使用及说明
1.前提条件,安装好android 手机的驱动,并且在手机端授权ADB 调试
2.双击BAT 文件自动开始抓log 并使用当前时间作为文件名保存log
3.ctrl +C 退出 抓log
脚本文件如下,拷贝到记事本,另存为 xxx.bat(另外需要xxx.bat 同一目录下有adb的工具,附件压缩包内有提供)
@echo off
cd /d %~dp0
set devfile=%tmp%/devices.txt
:RESTART
set deviceCount=-1
for /f "tokens=1" %%iin (%devfile%) do (
SetLocal EnableDelayedExpansion
set /a deviceCount+=1
set list!deviceCount!=%%i
)
echo 当前连接设备数 %deviceCount%
if %deviceCount%==0 (
echo 当前没有连接设备,请连接设备
goto END
) else if %deviceCount%==1 (
echo %list1%
goto STARTLOG
) else if %deviceCount% gtr 1 (
echo 当前连接超过一个设备,请断开其他设备
goto END
)
:STARTLOG
for /f "tokens=1-4 delims=/:." %%i in("%date:~0,4%_%date:~5,2%_%date:~8,2%_%time%") do setfilename=%%i_%%j_%%k_%%l
set filenamenew=%filename%
set filenamenew=%filenamenew: =%
set logfile=%filenamenew%.txt
echo log 保存为%logfile%
adb shell -v time>%logfile%
::echo abc>%logfile%
:END
@pause
引用查询资料出处
http://www.miui.com/article-272-1.html
- 一种通过自动脚本抓取Android 手机log的方法
- Android 手机log的一种方式
- Android抓取log方法
- Android手机抓取log日志
- MTK android一些log的抓取方法
- android抓取各种log的方法
- android抓取各种log的方法
- Android抓取各种log的方法
- 非开发人员抓取android log的方法
- Android抓取log文件的方法
- android抓取各种log的方法
- 通过Adb命令抓取手机Log
- Android 直接打开log的一种方法
- android的log抓取
- 抓取ANR log的方法
- 抓取Android应用的log
- 小米手机抓取Log
- Android常用命令以及log抓取方法
- STL快速入门
- TortoiseSVN中分支和合并实践
- Greendao的使用
- JAVA多线程(二)竞态条件、死锁及同步机制
- windows下免安装版的mysql的正确安装,折腾出来的方法
- 一种通过自动脚本抓取Android 手机log的方法
- ios之GCD学习笔记(2)
- Mysql 5.7 information_schema 的status和variables表deprecated
- 指尖上的电商---(6)solrconfig.xml配置详解
- ios之GCD学习笔记(3)
- 关于gsoap工具soapcpp2.exe无法通过头文件生成wsdl接口描述语言文件的原因
- 指尖上的电商---(7)Solr索引基本操作
- Ubuntu run in Raspberry pi 2 之SD 卡镜像篇(ROS开发准备)
- amq原理