# Adb

> Android Debug Bridge (adb) — Linux x86_64 原生二进制。与 Android 设备/模拟器交互:安装/卸载 APK、shell、logcat、文件传输、端口转发、屏幕截图、设备管理。二进制路径: ~/.claude/skills/elabalice/adb/adb

- Skill: `elabalice-code/adb` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add elabalice-code/adb`
- Raw SKILL.md: https://api.skillmd.com/api/skills/elabalice-code/adb/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: elabalice-code (https://skillmd.com/u/elabalice-code)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/elabalice-code/adb

---


# adb — Android Debug Bridge

> Linux x86_64 原生 `adb` (v37.0.0), 从 Google platform-tools 下载。
> 二进制位置: `~/.claude/skills/elabalice/adb/adb`
> Windows 参考文件 (不可在 Linux 执行): `adb.exe`, `AdbWinApi.dll`, `AdbWinUsbApi.dll` 同目录保留。

## 调用方式

```bash
ADB="$HOME/.claude/skills/elabalice/adb/adb"
$ADB devices
$ADB shell <command>
```

或定义 alias:
```bash
alias adb="$HOME/.claude/skills/elabalice/adb/adb"
```

## 常用命令速查

### 设备管理
```bash
$ADB devices [-l]          # 列出已连接设备
$ADB connect <ip>[:5555]   # 通过 TCP/IP 连接设备
$ADB disconnect [<ip>]     # 断开 TCP/IP 设备
$ADB -s <serial> ...       # 指定目标设备(多设备时必选)
$ADB kill-server           # 停止 adb daemon
$ADB start-server          # 启动 adb daemon
```

### 包管理
```bash
$ADB install [-r|-d] <apk>     # 安装 APK (-r 覆盖, -d 降级)
$ADB uninstall <package>       # 卸载应用
$ADB shell pm list packages    # 列出已安装包
$ADB shell pm path <package>   # 查看 APK 路径
$ADB shell pm clear <package>  # 清除应用数据
```

### Shell & 文件
```bash
$ADB shell                    # 交互式 shell
$ADB shell <cmd>              # 执行单条命令
$ADB push <local> <remote>    # 推送文件到设备
$ADB pull <remote> <local>    # 从设备拉取文件
$ADB shell ls /sdcard/        # 浏览设备文件
```

### 日志
```bash
$ADB logcat                   # 实时日志
$ADB logcat -s <tag>          # 按 tag 过滤
$ADB logcat -c                # 清空日志缓冲
$ADB logcat -d > log.txt      # dump 当前日志到文件
```

### 调试 & 截图
```bash
$ADB shell screencap /sdcard/sc.png && $ADB pull /sdcard/sc.png
$ADB shell input keyevent 26  # 电源键(唤醒/锁屏)
$ADB shell input text "hello" # 输入文本
$ADB shell dumpsys <service>  # 系统服务信息
$ADB reboot [bootloader|recovery]  # 重启设备
```

### 端口转发
```bash
$ADB forward tcp:<local> tcp:<remote>    # 正向端口转发
$ADB reverse tcp:<remote> tcp:<local>    # 反向端口转发
$ADB forward --list                      # 列出转发规则
```

## 环境要求

- **WSL2 Linux x86_64**: 直接运行, daemon 自动启动
- **USB 设备**: WSL2 需 `usbipd` 桥接 Windows USB 设备 (或通过 TCP/IP 无线连接)
- **无线调试**: Android 11+ 支持无线配对 (`adb pair` + `adb connect`)

## 与 Windows 版的关系

同目录下的 `adb.exe` + `AdbWinApi.dll` + `AdbWinUsbApi.dll` 是 Windows x86_64 版本,由用户 (ElabAlice) 提供作为参考。它们在 WSL Linux **不可执行**,保留作为 Windows 侧的 fallback 或参考。

## 维护笔记

- **来源**: Google Android SDK Platform-Tools, `https://dl.google.com/android/repository/platform-tools-latest-linux.zip`
- **更新**: 重新下载 zip 覆盖 `adb` 二进制即可
- **版本检查**: `$ADB --version`

