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文件。

原文地址:https://www.cnblogs.com/fordreamxin/p/4360897.html