如何退出adb logcat

Oce*_*lue 22 android

以下terminal命令显示logcat.

$> $SDK/platform-tools/adb logcat
Run Code Online (Sandbox Code Playgroud)

但是如何退出终端提示呢?我试过kill-server,退出等.

Cri*_*ian 43

Ctrl + C

  • @OceanBlue尝试使用`adb logcat -d` (6认同)
  • 这就是事情.我正在尝试通过我的应用程序读取logcat.我使用Runtime.getRuntime().exec("logcat -v time MyTag:D*:S").一切正常但它只是坐在那里等待更多的线路,就像在终端上一样.参考:http://stackoverflow.com/questions/7473469/read-logcat-from-app-not-working-correctly/ (2认同)

Meg*_*ang 16

使用-d选项将为您提供一次性的logcat运行.

adb logcat -d
Run Code Online (Sandbox Code Playgroud)

在打印出日志缓冲区中的所有日志后,它将返回到命令提示符,而不是循环.每次使用此命令时,它始终从日志缓冲区的开头开始,除非您输入以下命令来清除日志缓冲区中的日志:

adb logcat -c
Run Code Online (Sandbox Code Playgroud)

上面的命令是清理logcat缓冲区中的日志.


小智 8

我的建议:

    $> $SDK/platform-tools/adb logcat -c
    $> $SDK/platform-tools/adb logcat > log_file.txt &
    ... run your application ...
    $> $SDK/platform-tools/adb logcat -c
Run Code Online (Sandbox Code Playgroud)

Logcat文档

-c  Clears (flushes) the entire log and exits.
Run Code Online (Sandbox Code Playgroud)


Tie*_*ien 6

我在尝试使用Meir Gerenstadt的解决方案时发现了一个问题。

最后并adb logcat -c没有真正阻止 logcat 写入 log_file.txt

我的解决方案是:

# Clear logcat 
$> $SDK/platform-tools/adb logcat -c
# Redirect logcat to file, in background process.
$> $SDK/platform-tools/adb logcat > log_file.txt &
# Get process id of logcat background process above
$> logcat_pid=$!

... run your application ...

# Now kill the logcat background process
$> kill $logcat_pid
Run Code Online (Sandbox Code Playgroud)