问题1:我想用我的应用程序将内核日志重定向到其他文件。如何正确地执行此操作?代码如下所示:
Runtime.getRuntime().exec("dmesg > /data/kernel_log.txt"); 问题2:我想使用我的应用程序清除内核日志。如何纠正以下代码;
Runtime.getRuntime().exec("dmesg -c"); Note1:,我的目标是从开始到最新获取内核的所有日志(Dmesg)。因为dmesg有缓冲区大小的限制,所以我不想仅仅为了调整缓冲区的大小而重新构建内核。
Note2:这是非常相关的;android : how to run a shell command from within code
Note3:目前我使用的是一个带有ENG模式构建的设备,这意味着这是基于根的,对吗?
Logcat错误消息:
11-11 20:18:47.910: E/DmesgGetterService(2885): java.io.IOException: Error running exec(). Command: [dmesg > /data/kernel_log.txt] Working Directory: null Environment: null
...
11-11 20:19:07.920: E/DmesgGetterService(2885): Caused by: java.io.IOException: No such file or directory
...发布于 2011-11-15 07:15:54
我能够以不同的方法获得dmesg日志。使用AlarmManager在指定的时间间隔内运行服务,从内核中获取日志,然后找到上次运行时复制的最后一行,然后追加新的日志。就这样!
https://stackoverflow.com/questions/8093117
复制相似问题