打印日志
adb logcat -c 清空日志
adb logcat -s “Tag” 输出指定Tag的日志信息
如:输出 “System.out” 标签的信息, 就可以使用adb logcat -s System.out 命令;
adb logcat -v time 可以看到日志的输出事件
adb logcat -v threadtime 看时间和线程信息
adb logcat -v time -s “AddAccessoryActivity” 查看带"AddAccessoryActivity" 的日志
adb logcat -v time -s “ScreenResolutionManager”
adb logcat | grep wifi 过滤wifi标签
adb logcat | grep “^…Activity” 过滤带有Activity字样的,原理是正则
过滤项格式 : [:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I " ;
– V : Verbose (明细);
– D : Debug (调试);
– I : Info (信息);
– W : Warn (警告);
– E : Error (错误);
– F: Fatal (严重错误);
– S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
过滤指定等级日志 : 使用 adb logcat Tag *:E 命令, 显示 Error 以上级别的日志;
日志保存到txt文档
adb logcat >text.txt
将日志信息输出到以“日期 时间”命名的文件中
adb logcat > “%date:0,4%-%date:5,2%-%date:~8,2% %time:0,2%时%time:3,2%分%time:~6,2%.log”
那么如下的各个操作的意义如下:
%date:~0,4% 表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2016(年的值)
%date:~5,2% 表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是11(月的值)
%date:~8,2% 表示指针从左向右偏移8位,然后从偏移处开始提取2位字符,结果是09(日的值)
再来看时间time变量的值:
那么如下的各个操作的意义如下:
%time:~0,2% 表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取2位字符,结果是小时字段数值
%time:~3,2% 表示指针从左向右偏移3位,然后从偏移处开始提取2位字符,结果是分钟字段数值
%time:~6,2% 表示指针从左向右偏移6位,然后从偏移处开始提取2位字符,结果是秒字段数值
常用的adb
查看top Activity
adb shell dumpsys activity top | grep ACTIVITY
adb shell getprop 打印属性信息 getprop |grep "xxx"
截屏 adb shell screencap -p /sdcard/01.png adb pull /sdcard/01.png 取下截图
adb pull xxx 取文件
adb push xxx 上传文件
adb shell ps 查看进程
adb shell pm list packages 列出所有包名
展开settings属性(并过滤"one"字段的)
adb shell settings list global |grep one
设置settings(把one_build_status设为100)
settings put global one_build_status 100
打印keyevent
adb shell logcat |grep -i keyevent
查看按键
adb shell getevent
打印出KL表
adb shell dumpsys input
读KL表
adb shell cat /vendor/usr/keylayout/Vendor_7545_Product_0183.kl
更多Android系统和应用开发的讨论,欢迎加入我,个人微信号:Doraemon_student