我正在开发一个系统日志应用程序,供用户查看其设备的日志。我们都知道使用logcat一个应用程序可以实时读取系统日志,但有没有办法阅读"历史记录"系统日志,比如一周? (我们的应用程序可能在本周停机)
更新:
我也是基于AOSP的自定义Android操作系统的构建者。系统日志应用程序也仅在此操作系统中运行。所以除了普通的应用程序之外,我还能够开发驱动程序,框架层和系统应用程序。
如果普通应用程序无法完成任务,那么如何另外开发驱动程序呢?我知道有一个名为" logger"的驱动程序模块。在内核中,负责日志记录。也许我可以在" logger"中添加一些代码。然后让它将日志转储到文件中:log_20140629.txt,log_20140630.txt等。每个文件都包含整天的日志。然后我的应用程序只读了这些文件。这个想法有可能吗?
答案 0 :(得分:5)
我们都知道使用logcat的应用程序可以实时读取系统日志
仅适用于运行Android 4.1及更低版本或可能位于root设备上的设备。 Android 4.2+上的Android应用无法保留READ_LOGS
权限。
但有没有办法阅读“历史”系统日志,比如一周?
我不知道“'历史'系统日志”是什么。如果您的意思是“系统日志的历史记录”,则LogCat作为环形缓冲区存在。很久以前这个缓冲区曾经是64KB,我不知道它们是否增加了它的大小。在许多生产设备上,这将持续几分钟到几小时的历史,而不是几天。