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

时间:2016-05-18 12:59:23

标签: android logging adb logcat android-logcat

在我的应用程序中,每次我想阅读新的日志猫日志时,为此,我使用下面提到的adb命令。

  1. adb logcat -d -v time *:E

    - >这将提供最新的日志。

  2. adb logcat -c

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

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

    我将以编程方式(当我的应用程序已签名)全天完成此操作。

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

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

    提前致谢!

1 个答案:

答案 0 :(得分:2)

Logcat日志缓冲区是内存中的一个循环缓冲区,缓冲区大小通常为256KB(可以配置为64KB~16MB)。

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

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

对于问题2,由于Google在API 16(JellyBean)之后删除了应用程序的READ_LOGS权限,如果您不是根设备或系统应用程序,则无法执行此操作。否则,如果您具有系统权限,则可以启动后台服务,以便在设备启动时将logcat登录到文件中。

希望这有帮助。