📦 Android — 安卓

v1.0.0

Adb Skill Android 开发调试技能,通过系统 ADB 工具操作 Android 设备。以下场景必须触发此技能: (1) 直接 ADB 操作——安装 APK、查看设备列表、抓取 logcat 日志、查看已安装应用、清除应用数据、截图、重启设备、拉取/推送文件、查看 CPU/内存/电池信息、adb shell 操作; (2)...

0· 11·0 当前·0 累计
下载技能包
最后更新
2026/4/22
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
high confidence
该技能的指令与ADB调试工具相符,但其元数据缺少必需的binaries/env,且SKILL.md要求自动执行ADB操作(包括自动安装)而无需用户明确确认,这是一种存在风险且不一致的设计选择。
评估建议
此技能看似是一个合法的 ADB 助手,但在安装前请注意两个实际问题: (1)元数据未声明需要 adb,也未说明会读取 $ANDROID_HOME/PATH——请确认环境并确保 adb 存在; (2)运行时规则强制自动调用,若仅连接一台设备,将不经逐操作确认即执行 ADB 命令(包括安装、卸载、清数据、拉取文件、截图、重启)。 如要使用,务必让代理在修改设备状态或拉取文件前请求明确确认,限制自动触发,并确保设备已授权。若需更高安全性,请勿启用自主操作,或改用需要逐命令用户确认的技能。...
详细分析 ▾
用途与能力
名称/描述与 SKILL.md 始终将本 skill 描述为基于 ADB 的 Android 调试/部署 skill,所提供的命令与工作流也与此目的一致。然而,registry 元数据未声明任何必需的二进制文件或环境变量,而运行时指令却假定系统存在 'adb' 二进制,并引用 $ANDROID_HOME / PATH 配置——声明需求与实际所需能力不一致。
指令范围
SKILL.md 明确指示 agent 运行大量 ADB 命令(install/uninstall、clear data、pull/push files、screencap、logcat、reboot、shell commands),这些均属于 ADB skill 的范畴。主要问题在于行为规则:(a) 当且仅当连接一台设备时,skill 会“直接执行”命令而不再询问用户;(b) 文档强制 skill 在众多上下文短语(“帮我装一下”“试一下”等)中被自动触发。这使得 agent 拥有广泛权限,可在无需逐项确认的情况下执行可能具破坏性或涉及隐私的操作(拉取文件、截屏、清除数据、卸载、重启)。
安装机制
该技能仅为指令型,无安装规范或代码文件。这是最低安装风险(技能包本身不会向磁盘写入任何内容)。
凭证需求
声明的需求列表中未包含环境变量或二进制文件,但指令却调用 `which adb`、引用 ANDROID_HOME 并提供 PATH 配置说明——说明该技能需要访问本地环境变量和系统二进制。未声明所需二进制/变量存在不匹配。技能未请求云凭证或无关密钥,但假定可访问本地文件系统及设备 I/O(可能泄露敏感设备数据)。
持久化与权限
该软件包未请求 'always:true',也未修改其他技能,但技能的内部规则要求在大量上下文线索下自动触发,并强制在单一已连接设备上自动执行。结合其可运行具有破坏性的 ADB 操作的能力,这种自主行为构成实质风险——代理可能在未经用户再次明确确认的情况下对设备执行操作。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/22

- android-adb-skill 初始版本发布。 - 提供分步 ADB 命令用法,涵盖设备检测、应用安装、logcat、设备信息、文件操作等。 - 编码任务完成后自动引导用户通过 ADB 验证 Android 代码变更。 - 确保每条 ADB 指令先检查设备,并支持多设备工作流。 - 附带详尽错误说明、用户提示及标准化输出规范,打造流畅的 Android 开发与调试体验。

无害

安装命令

点击复制
官方npx clawhub@latest install android-adb-skill
镜像加速npx clawhub@latest install android-adb-skill --registry https://cn.longxiaskill.com

技能文档

概述

此技能通过调用系统环境变量中的 adb 命令操作 Android 设备。执行任何 ADB 操作前,必须先执行「设备检测流程」。

---

编码完成后的验证流程

每当完成 Android 端代码修改(包括 Flutter Android、原生 Android 等),必须在回复末尾主动附上以下提示:
📱 代码已修改,建议通过 ADB 验证效果:
1. 构建 APK:flutter build apk --debug / ./gradlew assembleDebug
2. 检测设备并安装:(执行设备检测流程 → 自动安装)
3. 查看运行日志:adb logcat --pid=$(adb shell pidof <包名>)
> 需要我帮你执行安装和日志监控吗?
不要等用户主动询问,编码任务完成即触发此提示。

---

核心流程:设备检测

每次执行 ADB 操作前必须先运行设备检测。 ``bash # 检测 adb 是否可用 which adb || echo "ADB_NOT_FOUND" # 获取已连接设备列表 adb devices `

设备数量判断逻辑

| 情况 | 处理方式 | |------|---------| | adb 命令不存在 | 提示用户安装 Android SDK Platform Tools,并给出下载地址 | | 0 台设备 | 提示用户连接设备或开启 USB 调试,给出排查步骤 | | 1 台设备 | 直接执行,无需用户确认 | | 多台设备 | 展示设备列表,让用户选择目标设备,所有后续命令加
-s 参数 |

设备列表展示格式(多设备时)

` 检测到 N 台已连接的 Android 设备: 序号 设备序列号 状态 设备信息 1 emulator-5554 online [模拟器] 2 R3CT90BFXXX online [获取型号] 3 192.168.1.100:5555 online [无线连接] 请输入序号选择目标设备: ` 获取设备型号: `bash adb -s shell getprop ro.product.model `

---

功能模块

1. 安装 APK

`bash # 单设备 adb install -r # 指定设备 adb -s install -r # 常用参数说明: # -r 允许覆盖安装(保留数据) # -d 允许降级安装 # -g 自动授予所有运行时权限(Android 6.0+) # -t 允许安装测试 APK ` 安装结果判断
  • Success → 安装成功,显示包名
  • INSTALL_FAILED_ → 解析错误码并给出中文说明和解决方案
常见错误码对照表见 references/install-errors.md

---

2. 抓取 Logcat 日志

`bash # 清除旧日志 adb [-s ] logcat -c # 按包名过滤(需先获取 PID) PID=$(adb [-s ] shell pidof ) adb [-s ] logcat --pid=$PID # 按 Tag 过滤 adb [-s ] logcat -s :V # 按级别过滤(V/D/I/W/E/F) adb [-s ] logcat
:E # 保存到文件 adb [-s ] logcat --pid=$PID > logcat_$(date +%Y%m%d_%H%M%S).log # 实时过滤关键词 adb [-s ] logcat | grep ` 用户输入包名时的标准流程
  • 先用 pidof 获取 PID
  • 若 PID 为空(应用未运行),提示用户先启动应用,或改用包名关键词 grep
  • 提供实时输出与保存文件两个选项

---

3. 查看已安装应用列表

`bash # 所有应用 adb [-s ] shell pm list packages # 只看第三方应用(用户安装的) adb [-s ] shell pm list packages -3 # 只看系统应用 adb [-s ] shell pm list packages -s # 包含 APK 路径 adb [-s ] shell pm list packages -f # 搜索关键词(如 "wechat") adb [-s ] shell pm list packages | grep # 获取应用详细信息 adb [-s ] shell dumpsys package ` 输出格式化:去掉 package: 前缀,每行一个包名,按字母排序后展示。

---

4. 卸载应用

`bash # 卸载(保留数据) adb [-s ] shell pm uninstall -k # 完全卸载 adb [-s ] uninstall `

---

5. 清除应用数据

`bash adb [-s ] shell pm clear `

---

6. 启动/停止应用

`bash # 启动应用(需要知道 MainActivity) adb [-s ] shell monkey -p -c android.intent.category.LAUNCHER 1 # 强制停止 adb [-s ] shell am force-stop # 启动指定 Activity adb [-s ] shell am start -n / `

---

7. 截图与录屏

`bash # 截图并拉取到本地 adb [-s ] shell screencap /sdcard/screenshot.png adb [-s ] pull /sdcard/screenshot.png ./screenshot_$(date +%Y%m%d_%H%M%S).png # 录屏(最长3分钟,Ctrl+C 停止) adb [-s ] shell screenrecord /sdcard/record.mp4 adb [-s ] pull /sdcard/record.mp4 ./record_$(date +%Y%m%d_%H%M%S).mp4 `

---

8. 文件操作

`bash # 推送文件到设备 adb [-s ] push # 从设备拉取文件 adb [-s ] pull `

---

9. 设备信息查询

`bash # 设备型号 adb [-s ] shell getprop ro.product.model # Android 版本 adb [-s ] shell getprop ro.build.version.release # API Level adb [-s ] shell getprop ro.build.version.sdk # 电池信息 adb [-s ] shell dumpsys battery # CPU 信息 adb [-s ] shell cat /proc/cpuinfo # 内存信息 adb [-s ] shell cat /proc/meminfo # 应用内存占用 adb [-s ] shell dumpsys meminfo # 设备 IP 地址 adb [-s ] shell ip addr show wlan0 `

---

10. 无线 ADB 连接

`bash # USB 连接后,开启 TCP 模式(Android 11 以下) adb [-s ] tcpip 5555 adb connect :5555 # Android 11+ 无线配对(设置 → 开发者选项 → 无线调试) adb pair : # 输入配对码 adb connect :5555 `

---

11. 重启设备

``bash # 正常重启 adb [-s ] reboot # 重启到 Recovery adb [-s ] reboot recovery # 重启到 Bootloader adb

数据来源ClawHub ↗ · 中文优化:龙虾技能库