当我在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") 在某些设备上工作,但在少数设备上失败。经过大量研究...我的结论是
- 它是依赖于Android操作系统的进程,它显示少数 Android API 级别(API 16 到 API 21)的不同行为
- Logcat 命令 "logcat -c" 在 API 16 到 API 21 中已弃用,因为此命令清除整个系统日志
Logcat,而是在应用程序上下文中创建一个自定义文件(/data/data//files),并将所有日志写入此文件。