adb logcat如何在U盘模式下保存Log
一般情况下,我们使用adb logcat命令在电脑终端输出log或保存到电脑终端文件中,但是在一些情况下,我们需要使用到U盘模式,此时adb连接断开,无法把log输出到电脑终端,同时由于在U盘模式下,U盘不可用,因此默认的log也不能保存下来。一个能想到的办法是把log保存到其它分区,比如/data/分区下。具体过程和解释如下:
adb shell cd /data touch mylog.txt 在/data/分区下建立保存log的空文件 adb shell "logcat -v threadtime > /data/mylog.txt &"
在电脑终端下,我们使用logcat命令通常为:
adb logcat ...
事实上,在谷歌developer官网上关于logcat命令的格式如下:
[adb] logcat [-v <format>]
可以看到前面的adb也是可选的,这是因为在电脑终端下需要adb logcat启动logcat命令,而在手机终端下则只需要logcat命令即是启动。
因此不难理解adb shell logcat ...这样的写法也是有效的。只是这里为什么要加上引号呢?那是因为/data/mylog.txt是手机终端的文件,如果不加引号,重定向输出的是电脑终端的文件,而加了引号之后则指向了手机终端下的文件。
该命令的完整解释如下:
进入手机终端,启动logcat命令,此时完全由手机终端中的linux系统的logcat程序在控制,因此U盘模式后,虽然adb不可用了,但是logcat程序仍然在跑,这个"&"即表示后台运行的意思,因此它可以在断掉adb之后仍然有效,所以可以重定向到data分区的mylog.txt文件。