我正在开发一个系统日志应用程序,供用户检查他们设备的日志.我们都知道使用logcat一个应用程序可以实时读取系统日志,但有没有办法读取“历史”系统日志,比如一周? (我们的应用程序可能会在一周内关闭)
更新:
我也是基于AOSP的自定义Android操作系统的构建者.系统日志应用程序也仅在此操作系统中运行.所以除了普通的应用程序之外,我还能够开发驱动程序,框架层和系统应用程序.
如果普通应用程序无法完成任务,那么如何另外开发驱动程序呢?我知道内核中有一个名为“logger”的驱动程序模块,它负责日志记录.也许我可以在“logger”中添加一些代码并让它将日志转储到文件中:log_20140629.txt,log_20140630.txt等等.每个文件都包含整天的日志.然后我的应用程序只读了这些文件.这个想法有可能吗?
解决方法:
We all know that using logcat an app can read the system log in real-time
仅适用于运行Android 4.1及更低版本或可能位于root设备上的设备. Android 4.2上的Android应用无法保留READ_LOGS权限.
but is there a way to read the “history” system log, like for one week?
我不知道“’历史’系统日志”是什么.如果您的意思是“系统日志的历史记录”,则LogCat作为环形缓冲区存在.很久以前这个缓冲区曾经是64KB,我不知道它们是否增加了它的大小.在许多生产设备上,这将持续几分钟到几小时的历史,而不是几天.