如何在安卓代码中清空日志猫缓冲区



当我在Android中显示LogCat时,我想以编程方式清除缓冲区日志。
但是当我使用这个语句时:

Runtime.getRuntime().exec("logcat -c")

它不会清除缓冲区。
如何解决这个问题?

Runtime.getRuntime().exec("logcat -c")将仅清除无根日志缓冲区(main,system..等)。请使用Runtime.getRuntime().exec("logcat -b all -c")清除所有缓冲区(如无线电、内核)。等)

我最近遇到了这个问题。Runtime.getRuntime().exec("logcat -c") 在某些设备上工作,但在少数设备上失败。经过大量研究...我的结论是

  1. 它是依赖于Android操作系统的进程,它显示少数 Android API 级别(API 16 到 API 21)的不同行为
  2. Logcat 命令 "logcat -c" 在 API 16 到 API 21 中已弃用,因为此命令清除整个系统日志
不要依赖 Logcat 进程并将日志写入

Logcat,而是在应用程序上下文中创建一个自定义文件(/data/data//files),并将所有日志写入此文件。

最新更新