Android:adb logcat -c 有什么影响?

Android: What is the impact of adb logcat -c?

在我的应用程序中,每次我想读取新的 log cat 日志时,我都会使用下面提到的 adb 命令。

  1. adb logcat -d -v 时间 *:E

    -->这将给出最新的日志。

  2. adb logcat-c

    --> 这将清除所有日志并存在

如果我再次运行第一个命令,我将只获得当前日志(因为旧日志被第二个命令删除)

我将一整天以编程方式(因为我的应用程序已签名)执行此操作。

那么,如果我使用命令 "adb logcat -c",它会永久删除所有日志吗?如果有用户想要访问旧日志以进行调试,他们将如何访问旧日志?他们可以访问吗?

建议我,如果我在这里做错了什么。

提前致谢!

Logcat log buffer是内存中的一个轮转环形缓冲区,缓冲区大小一般为256KB(可以配置为64KB~16MB)。

作为环形缓冲区,当缓冲区已满时,最旧的日志条目将被丢弃以存储新日志。

所以对于你的问题 1,是的。 logcat -c 将永久删除所有日志。

对于问题2,由于Google删除了API16(JellyBean)之后应用程序的READ_LOGS权限,如果你不是根设备或系统应用程序,你可以't。否则,如果您有系统权限,您可以启动后台服务以在设备启动时 logcat 登录到一个文件。

希望对您有所帮助。