如何实时监听内核kmsg信息,并将其写入文件存在sdcard上???

jiayouxjh 2013-01-05 04:59:05
想写个android程序来实时监听内核的log信息,并将其存储在sdcard的某一地方。
现思路如下:Process process = Runtime.getRuntime().exec(mCmd); //mCmd为cat /proc/kmsg
读取process.getInputStream()的输入流并通过BufferedWriter写到SD卡上
但是一直没有办法实现,更改了kmsg文件的权限也不可以,将应用的AndroidManifest.xml文件中加上android:sharedUserId="android.uid.system"也不可以。
实在没有办法了。。。。。。谁还有思路或是解决过类似问题,不胜感激(dmesg不够全,所以必须是kmsg中的内容)。
...全文
649 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
eye2eye 2013-03-20
  • 打赏
  • 举报
回复
能再详细解释一下吗?
jiayouxjh 2013-03-20
  • 打赏
  • 举报
回复
引用 2 楼 eye2eye 的回复:
这个问题最后解决 吗?现在也遇到同样的问题
好像是改system下的代码,添加一条类似logcat的命令,只不过之读取kmsg文件的内容,这样上层调用该命令就可以读出log数据了。
eye2eye 2013-03-20
  • 打赏
  • 举报
回复
这个问题最后解决 吗?现在也遇到同样的问题
jiayouxjh 2013-03-20
  • 打赏
  • 举报
回复
引用 4 楼 eye2eye 的回复:
能再详细解释一下吗?
改动挺多的,这个后来不是我做的了,你可以参考下logcat命令创建的流程,创建一个catkmsg命令来执行cat /proc/kmsg。
Trust_haitao365 2013-03-20
  • 打赏
  • 举报
回复
怎么不可以呢?有出错信息吗. 要获取kmsg信息,需要root的,所以在编译源码时,你用ENG编译试试
jiayouxjh 2013-01-05
  • 打赏
  • 举报
回复
实在是没有什么思路,其他/proc下的文件都可以,logcat命令通过该种方式也可以,就偏偏kmsg不行,本人有Android源码开发环境,难道底层需要改什么吗?

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧