【问题标题】:Android: What is the impact of adb logcat -c?Android:adb logcat -c 有什么影响?
【发布时间】:2016-05-18 12:59:22
【问题描述】:

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

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

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

  2. adb logcat -c

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

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

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

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

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

提前致谢!

【问题讨论】:

    标签: android logging adb logcat android-logcat


    【解决方案1】:

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

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

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

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

    希望这会有所帮助。

    【讨论】:

    • 有没有办法始终获取当前日志?
    猜你喜欢
    • 2017-02-27
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 2018-10-25
    • 2015-11-05
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多