前提:目前,开发时使用串口调试,以下命令均在串口中使用
logcat
指令名 | 功能 | 场景 |
---|
logcat -c | clean此前的所有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/logs | hci目录 | 本人目录是这里,其他项目可以做个参考 |
在/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)
及时记录,未完待续。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。