gpt4 book ai didi

android - 使用代码读取 android dmesg

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:23 26 4
gpt4 key购买 nike

如何在我的程序中读取 dmesg 输出?

谢谢..

最佳答案

您可以编写一些调用 klogctl 的 Android NDK 代码职能。像这样的东西:

#include <sys/klog.h>

#define KLOG_READ_ALL 3
#define KLOG_LEN (1 << 17)

char buf[KLOG_LEN];

if (klogctl(KLOG_READ_ALL, buf, KLOG_LEN) < 0)
{
printf("Error %s reading dmesg\n", strerror(errno));
}
else
{
/* do something with contents of buf */
}

但是,在 Android 4.1 Jelly Bean 中,他们实现了一项不允许访问 dmesg 消息的安全功能。上面的代码将失败并出现“不允许操作”错误。如果您拥有设备的根访问权限,则可以关闭 dmesg_restrict:

echo 0 > /proc/sys/kernel/dmesg_restrict

此外,一些最近的设备启用了 SELinux,在这种情况下您将需要这样做

setenforce 0

如果您没有 root 访问权限,那您就不太走运了。

关于android - 使用代码读取 android dmesg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3643599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com