User版本下如何抓取kernel的log

user版本下,我们没有权限对/proc/kmsg进行操作,只有对拥有root权限或者system组的才能对其进行操作。

这时我们只要写个简单的脚本,让其拥有root权限就行了。


例:

1、在LINUX/android/device/qcom/common/rootdir/etc新建一个目录

$mkdir x.sh


x.sh脚本内容如下:


#!/bin/bash

cat/proc/kmsg >> /storage/sdcard0/xxxxx_kernel.txt &

logcat -v time >> /storage/sdcard0/xxxxx_logcat.txt


2、然后在上层目录的Android.mk中添加x.sh的编译选项。

$vim ../Android.mk

在最底行添加下面语句:

include$(CLEAR_VARS)


LOCAL_MODULE := x.sh


LOCAL_MODULE_TAGS := optional eng


LOCAL_MODULE_CLASS:= ETC


LOCAL_SRC_FILES := etc/x.sh


LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)


include$(BUILD_PREBUILT)



3、然后在LINUX/android/device/qcom/common/common.mk添加下面一句话

INIT+= x.sh


4、最后在init进程起来时运行这个脚本,在LINUX/android/system/core/rootdir/init.rc的底行添加下面语句:

service xxx /system/bin/sh /x.sh


class core


user root


group systemroot


大功告成啦,自己制作rom烧进机子就可以抓出kernellog了!!log/storage/sdcard0/目录下,用adbpull就可以弄出来了。

*************

这是把脚本添加成service进行执行的,所以脚本必须是死循环,如果脚本关闭,service也随着关闭,后台运行的程序也关闭了.

*************


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值