You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android最后一次启动日志位置、Slot B启动失败排查及adb命令报错解决

Android启动日志相关问题解答

1. Android的最后一次启动日志存储在何处?

  • 用户空间启动日志:默认由logd守护进程暂存于内存中,设备重启后会被覆盖。可通过adb logcat --last命令读取上次启动的日志缓存;部分厂商设备会将持久化的启动日志写入/data/misc/logd/last_log(需root权限访问)。
  • 内核启动日志:最后一次内核启动的日志通常存储在/proc/last_kmsg,部分新设备则存于/sys/fs/pstore/console-ramoops,同样需要root权限查看。

2. Slot A可成功启动,但Slot B启动失败,进入Slot A系统后如何排查原因?

  • 直接读取Slot B的启动日志:Android 10及以上版本支持--slot参数,执行adb shell logcat --slot=B --last获取Slot B上次启动的日志。
  • 查看持久化日志文件:root后检查/data/misc/logd/下的Slot B相关日志(如last_log_b,命名可能因厂商而异)。
  • 检查内核启动日志:执行adb shell cat /proc/last_kmsg或/sys/fs/pstore/下的文件,内核启动失败的关键信息通常在这里。
  • 排查OTA更新问题:如果Slot B是OTA更新后的分区,查看/cache/recovery/下的recovery.log和update.log,确认更新过程是否存在错误。
  • 验证分区完整性:root后执行adb shell e2fsck /dev/block/bootdevice/by-name/system_b(需先卸载该分区),检查Slot B的system分区是否损坏。

3. 执行adb logcat --last | tee logcat.log时出现logcat: Logcat read failure: No such file or directory错误的解决方法

  • 检查系统版本:--last参数是Android 7.0及以上才支持的,低版本系统需改用adb logcat -d读取当前缓存的日志(无法获取上次启动日志)。
  • 确认日志文件存在:root后检查/data/misc/logd/last_log是否存在,若文件被删除或损坏,会导致读取失败。
  • 提升权限:执行adb root切换到root权限后再重新运行命令,普通权限可能无法访问日志存储路径。
  • 重启设备:若logd守护进程异常,重启设备后再尝试执行命令。

内容的提问来源于stack exchange,提问作者progquester

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:30:54