在我的应用程序中,每次我想阅读新的日志猫日志时,为此,我使用下面提到的adb命令。
adb logcat -d -v time *:E
- >这将提供最新的日志。
adb logcat -c
- >这将清除所有日志并存在
如果我再次运行第一个命令,我将只获得当前日志(由第二个命令删除旧日志)
我将以编程方式(当我的应用程序已签名)全天完成此操作。
那么,如果我使用命令“adb logcat -c”它会永久删除所有日志吗?,如果有任何用户,他们想要访问旧日志以进行某些调试,他们将如何访问旧日志?他们能够访问吗?
建议我,如果我在这里做错了什么。
提前致谢!
答案 0 :(得分:2)
Logcat日志缓冲区是内存中的一个循环缓冲区,缓冲区大小通常为256KB(可以配置为64KB~16MB)。
作为环形缓冲区,当缓冲区已满时,将删除最旧的日志条目以存储新日志。
所以对于你的问题1,是的。 logcat -c
将永久删除所有日志。
对于问题2,由于Google在API 16(JellyBean)之后删除了应用程序的READ_LOGS权限,如果您不是根设备或系统应用程序,则无法执行此操作。否则,如果您具有系统权限,则可以启动后台服务,以便在设备启动时将logcat登录到文件中。
希望这有帮助。