前提:目前,开发时使用串口调试,以下命令均在串口中使用

logcat

指令名功能场景
logcat -cclean此前的所有logcat缓存不抓开机日志,减少无关log
logcat -G 100M设置locat缓存大小logcat默认5000行,调大行数
locat --pid= xxx查看进程的log,xxx表示进程号,需要ps -e | grep xxx查看查看某一个apk的所有log
logcat | grep Runtime查看运行时崩溃配合下一行命令检查崩溃
logcat --buffer=crash查看crash配合上一行命令检查崩溃

ps

指令名功能场景
ps -e | grep xxx查看xxx相关的进程可以结合logcat筛查某一进程的log等

dumpsys

指令名功能场景
dumpsys audio查看音源焦点联调、开发时可能用到
dumpsys window | grep mCurrentFocus查看屏幕最上层的应用是谁联调、开发时可能用到
dumpsys package com.xxxxxx | grep versionName查看apk的版本号防止push、安装失效

pm

指令名功能场景
pm path com.xxxx查看app安装包目录地址更新apk时需要查看

adb push

指令名功能场景
adb push .\xxx\xx /xxx/xx把电脑文件放到机器内。其中.\xx\xx是windows的目录格式,/xx/xx是机器内部目录格式在外部使用adb命令,导入机器所需文件
adb pull /xx/xx .\xx\xx把机器内的文件导出到电脑中。其中.\xx\xx是windows的目录格式,/xx/xx是机器内部目录格式在外部使用adb命令,把机器内部文件导出到电脑

hcilog(Android原生方法)

指令描述备注
adb root给root权限
setprop persist.bluetooth.btsnoopenable true设置系统属性值
重启车机或重新打开蓝牙开始hcilog抓取主要是重新打开蓝牙
cd /data/misc/bluetooth/logshci目录本人目录是这里,其他项目可以做个参考

在/data/misc/bluetooth/logs目录下,若存在btsnoop_hci.log文件,表示打开成功。

netlog(tcpdump)

指令:nohup tcpdump -i any -s 0 -C 50 -w /data/mylog/netlog.pcap > /dev/null 2>&1 &

参数含义
nohub让接下来的命令在后台运行,并且不会收到SIGHUBP信号的影响
tcpdump网络抓包工具,用来捕获网络数据包
-i any表示监听所有接口的数据包
-s 0设置抓取数据包的长度为0,意味着抓取整个数据包
-C 50指定每个pcap文件的最大大小为50M,当达到这个大小时会自动创建新的文件
-w /data/mylog/netlog.pcap指定保存捕获到的数据包的文件路径和文件名
> /dev/null 2>&1将标准输出和标准错误重定向到/dev/null,即丢弃输出
&后台运行,不阻塞当前终端

查看屏幕密度

指令:adb shell wm density
dp = px / (dpi / 160)

参数含义
160基准密度
dpi指令获取到的屏幕密度

及时记录,未完待续。。。


背锅艺术家
1 声望0 粉丝