安卓异常日志智能诊断

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

本技能接收**Android 日志文件 + 用户描述的故障现象**,辅助工程师定位系统异常的根本原因。 支持分析 Java 崩溃、ANR 主线程阻塞、OOM 内存溢出、系统服务卡死、看门狗复位、Native 崩溃、内核 panic、整机卡顿、黑屏、随机重启等问题。 自动清洗海量日志、提取关键调用栈,结合用户描述的现象交叉验证,区分应用层、系统框架层、Native 层、内核层故障;输出结构化报告:异常归类、关键线索汇总、**根因推断**、按优先级排序的排查步骤、代码修复建议。 高级模式支持加载版本匹配的符号表,对 Native / 内核 dump 做栈符号化,实现更深层定位。 > > 能力边界: > 本工具是日志辅助根因分析,结论需要工程师真机复现验证。硬件类故障若无有效日志线索,仅能识别复位现象,无法直接判定硬件损坏;底层深度栈解析需要对应版本符号文件。

累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_16f43ae8/android-log-analyzer

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_16f43ae8仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791702175
正文体量5.5 KBSKILL.md 原文大小,越大说明说明书写得越细

SKILL.md 全文

5.5 KB
模型实际读到的说明书原文,来自技能仓库

Android Log Analysis

Overview

对 Android 设备导出的各类日志(bugreport、logcat、dropbox、tombstone、dmesg、anr traces)进行系统化检索与根因分析,产出结构化的 Markdown 分析报告:问题结论 → 根因分析 → 证据日志 → 修复建议。

本 skill 不依赖 adb 设备连接,只处理本地日志文件。大日志文件必须用 Grep 工具按模式检索关键片段,禁止一次性读入全文。

工作流程

第 1 步:识别输入文件类型

对用户提供的文件/目录,先判断类型(可看文件头几行、文件名、目录结构):

输入 识别特征 主要覆盖问题
bugreport 文件开头有 == dumpstate 或包含多个 section(如 ------ SYSTEM LOG、------ CPU INFO) 全部场景,信息最全
logcat 文本 行格式 MM-DD HH:MM:SS.mmm PID TID LEVEL TAG: msg 崩溃、闪退、卡顿
dropbox 目录 文件名如 system_app_crash@<时间>、system_server_watchdog@、system_server_anr@、system_app_anr@、system_server_wtf@、SYSTEM_RESTART@ 崩溃、ANR、WatchDog、SystemServer 重启
tombstone (X00) 文件头 *** *** *** + Build fingerprint + signal X (SIG...) Native 崩溃
anr traces 文件头包含 ----- pid <pid> at <time> -----,含各线程 Cmd line: 和堆栈 ANR、卡顿、死锁
dmesg / kernel log 行带 [ 123.456789] 时间戳 重启原因、黑屏、死机、硬件问题
event log tag 如 am_crash、am_anr、am_proc_died、boot_progress_start 快速定位崩溃/ANR 事件与时间点

判断不了就问用户,或先 Grep 上述特征。多个文件时先建立时间轴(各文件的日志时间范围),再决定分析顺序。

第 2 步:按问题场景检索关键日志

先问清(或从上下文推断):问题现象(崩溃/ANR/黑屏/重启/卡顿)、发生的大致时间、涉及的包名。然后按场景用 Grep 检索。详细模式与解读方法见 references:

  • 应用崩溃 / 闪退(Java + Native) → 读 references/crash-analysis.md
  • ANR → 读 references/anr-analysis.md
  • WatchDog、黑屏、重启原因、卡顿、死机 → 读 references/system-issues.md

快速入口(任何场景都先跑一遍,锁定事件时间点):

Grep pattern: "FATAL EXCEPTION|Force finishing activity|am_crash|Process .* has died|beginning of crash"
Grep pattern: "ANR in|am_anr|Input dispatching timed out"
Grep pattern: "WATCHDOG|Watchdog:|WATCHDOG_KILL|Boot animation"
Grep pattern: "Kernel panic|reboot,|SysRq|watchdog! |Power key|pm_sleep|charger"
Grep pattern: "am_anr|am_crash|am_proc_died|am_wtf|boot_progress"

检索命中后:用行号附近的上下文(Grep 的 -A/-B/-C)还原现场,再回到完整日志核对因果顺序(谁先谁后、是否同一 PID/时间戳)。

第 3 步:根因分析与交叉验证

  1. 时间轴对齐:把崩溃/ANR/重启等事件按时间排序,确认因果链(例:binder 耗尽 → SystemServer watchdog → 软重启)。
  2. 区分直接原因与根因:崩溃堆栈的异常类型是直接原因;要往上追是谁传入了坏数据、哪个系统服务未响应。
  3. 多源印证:Java crash 看 logcat + dropbox 双份;Native crash 看 tombstone + logcat 的 Fatal signal;ANR 看 event log am_anr + traces 主线程堆栈;重启看 dmesg + SysRq/reboot reason。
  4. 排除噪声:忽略与本问题无关的高频日志(如 DEBUG 重复输出);注意日志轮转导致的关键行丢失,此时明确告知证据不完整。

第 4 步:输出 Markdown 分析报告

报告写入文件(默认 <工作目录>/log-analysis-report.md),结构固定:

# Android 日志分析报告
- 分析对象:<文件清单及各自时间范围>
- 问题现象:<一句话>

## 结论(TL;DR)
<1-3 句:问题类型、直接原因、根因、置信度>

## 时间轴
| 时间 | 事件 | 证据来源 |
|------|------|----------|

## 根因分析
<分因果链展开,每条结论都附日志原文片段(含文件与行号)>

## 证据日志
<关键日志原文,标注文件:行号>

## 修复建议
<按优先级排列,区分 应用侧 / 系统侧 / 硬件侧>

## 未能确认的疑点
<证据不足的地方,说明还需要什么日志>

对话中给出 TL;DR 与报告路径,用 present_files 展示报告。

关键原则

  • 大文件(>1MB)一律先 Grep 定位再局部 Read,禁止全量读入。
  • 每条结论必须有日志证据支撑;证据不足时如实标注"推测"并说明缺什么。
  • 遇到第三方厂商定制 ROM(日志 tag 不同),先从 bugreport 的 dumpstate 头部确认设备与版本,再调整检索模式。
  • 涉及敏感信息(用户数据、账号)的日志片段在报告中脱敏。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。