我知道,通过kmsg
或dmesg
通过ADB
提取内容可以获得引导日志。
但是我不知道如何在Android中检索关闭日志,因为Android中没有/var
文件夹(大多数桌面linux发行版通常都存储它们的关闭日志)。
那么,如何在Android中获得关机日志呢?
发布于 2011-11-04 11:31:30
我发现在Android中收集关机日志的一项工作是在主机PC上运行adb pull /proc/kmsg C:\Logs.txt
,然后关闭设备。你会得到日志,直到主机和设备之间的USB通讯中断!我知道这只是众多关机场景中的一个案例,但对于其他情况,我还没有找到满意的答案!
发布于 2014-11-24 17:58:48
TL;博士
通过adb运行命令,将logcat和proc/kmsg复制到一个文件中,并保持其运行,即使adb断开了与nohup
、disown
或setsid
的连接。可能需要百事箱,需要根,亚行也需要根。
setsid cat proc/kmsg > /sdcard/kmsg.txt &
和
logcat -v long -f /sdcard/logcat.txt
(在某种程度上只适用于不使用setsid
)
或者将普通复制命令添加到某些启动脚本中。
/TL;DR
您可以不断地将proc/kmsg
和logcat
复制到安卓设备上的文件或microSD卡上,以便在亚行断开连接后获取日志。
您需要根访问和亚行根访问才能工作。对于后者,如果您有自定义rom或adbd 不安全应用程序,请在developer选项中使用该设置。
在使用adb shell
获取android之后,输入su
以获得超级用户访问权。
然后,您不仅需要在命令后面添加一个符号(&
),还需要确保该命令在adb断开后继续运行。这是由nohup
、disown
或setsid
完成的(请参阅这里中的用法)。
如果由于没有这些命令而无法工作,则需要安装箱箱。
见我的问题这里。
有关如何获取logcat和内核日志并将其打印到某个文件或合并它,请参见这里。有关logcat命令的参数,请参见developer.android.com/tools/help/logcat.html。
最后,您可以为内核消息提供一个类似于setsid cat proc/kmsg > /sdcard/kmsg.txt &
的命令。
对于logcat,可以有以下命令之一:logcat -v long -f /sdcard/logcat.txt
或logcat -v long > /sdcard/logcat.txt
我不知道为什么,但有时它不适用于setsid
,只是没有连续复制,但在执行命令后不久就停止了。在这些情况下,它在进入jobs
时也会出现,否则就不会出现。然后,它只是在没有setsid
的情况下工作,它在断开和重新连接后仍然存活。我想,当文件不断变大时,您必须尝试一下。如果有人弄明白了为什么会这样.告诉我,我会编辑答案。
希望这能有所帮助。
战斗曲奇
发布于 2019-01-07 09:24:23
较新的手机不使用这些位置,所以如果你正在阅读这篇文章,那么现在
内核崩溃日志现在位于/sys/fs/pstore中,而不是/proc/last中。
https://stackoverflow.com/questions/6071547
复制相似问题