ADB 命令速查

ADB (Android Debug Bridge) 设备管理、文件传输、Shell 操作、应用调试的完整命令速查。

#tech / mobile #type / howto #status / evergreen #resource / android

[!info] related notes

ADB 命令速查

核心概念

PC 端                    Android 设备端
┌─────────┐              ┌──────────────┐
│ adb.exe │── USB/TCP ──▶│ adbd (守护进程)│
│ (client)│              │ (daemon)     │
└─────────┘              └──────────────┘
  • adb client:终端敲的命令
  • adb server:PC 上的后台进程,管理通信
  • adbd:设备上的守护进程,执行实际操作

设备管理

命令说明常用示例
adb devices列出已连接设备adb devices -l(显示详细信息:型号、设备名)
adb connect <ip>:<port>无线连接设备(需先 adb tcpip <port>adb connect 192.168.x.x:5555
adb disconnect断开无线连接adb disconnect 192.168.x.x:5555(断开指定设备)
adb tcpip <port>切换设备为 TCP/IP 模式(无线调试前置步骤)adb tcpip 5555
adb usb切换回 USB 连接模式adb usb
adb -s <serial> <command>指定设备执行命令(多设备时必需)adb -s emulator-5554 shell
adb reboot重启设备adb reboot bootloader(重启到 fastboot)
adb get-state获取设备状态返回 deviceofflineunknown
adb get-serialno获取设备序列号adb get-serialno
adb kill-server终止 adb 服务adb kill-server && adb start-server(重启服务)
adb start-server启动 adb 服务通常自动启动,异常时手动执行

文件传输

命令说明常用示例
adb push <local> <remote>从 PC 推送文件到设备adb push ./app.apk /sdcard/
adb pull <remote> <local>从设备拉取文件到 PCadb pull /sdcard/DCIM/ ./photos/
adb push --sync <local> <remote>只推送新文件或更新的文件adb push --sync ./data/ /sdcard/data/
adb pull -a <remote> <local>拉取文件并保留时间戳adb pull -a /sdcard/file.txt ./

应用管理

命令说明常用示例
adb install <apk>安装 APKadb install ./app.apk
adb install -r <apk>覆盖安装(保留数据)adb install -r ./app.apk
adb install -d <apk>允许降级安装adb install -d ./app.apk
adb install -t <apk>安装测试包adb install -t ./test.apk
adb install -g <apk>安装并授予所有权限adb install -g ./app.apk
adb uninstall <package>卸载应用adb uninstall com.example.app
adb uninstall -k <package>卸载但保留数据和缓存adb uninstall -k com.example.app
adb shell pm list packages列出所有已安装包名adb shell pm list packages -3(仅第三方)
adb shell pm list packages -3列出第三方应用adb shell pm list packages | grep example
adb shell pm path <package>查看应用安装路径adb shell pm path com.example.app
adb shell pm clear <package>清除应用数据adb shell pm clear com.example.app
adb shell am start -n <pkg>/<activity>启动指定 Activityadb shell am start -n com.example/.MainActivity
adb shell am force-stop <package>强制停止应用adb shell am force-stop com.example.app

Shell 操作

设备信息

命令说明
adb shell getprop ro.product.model获取设备型号
adb shell getprop ro.build.version.release获取 Android 版本
adb shell getprop ro.build.version.sdk获取 SDK 版本
adb shell cat /proc/cpuinfo查看 CPU 信息
adb shell cat /proc/meminfo查看内存信息
adb shell df -h查看磁盘空间
adb shell wm size获取屏幕分辨率
adb shell wm density获取屏幕密度
adb shell settings get system screen_brightness获取当前亮度
adb shell settings put system screen_brightness 128设置亮度(0-255)

文件系统

命令说明
adb shell ls <path>列出目录内容
adb shell ls -la <path>列出详细信息(含隐藏文件)
adb shell cd <path>切换目录
adb shell cat <file>查看文件内容
adb shell mkdir <path>创建目录
adb shell rm <file>删除文件
adb shell rm -rf <path>递归删除目录
adb shell cp <src> <dst>复制文件
adb shell mv <src> <dst>移动/重命名文件
adb shell find <path> -name <pattern>搜索文件
adb shell du -sh <path>查看目录大小

进程与性能

命令说明
adb shell ps列出所有进程
adb shell ps -A | grep <keyword>按关键词过滤进程
adb shell top -n 1查看实时进程(单次快照)
adb shell top -m 10 -n 1查看内存占用前 10 的进程
adb shell kill <pid>终止进程
adb shell dumpsys meminfo <package>查看应用内存详情
adb shell dumpsys cpuinfo查看 CPU 使用情况
adb shell dumpsys battery查看电池状态
adb shell dumpsys activity activities查看当前 Activity 栈

日志 (Logcat)

命令说明常用示例
adb logcat查看实时日志(所有标签)adb logcat
adb logcat -s <TAG>按标签过滤adb logcat -s ReactNative
adb logcat *:E只显示 Error 级别adb logcat *:W(Warning 及以上)
adb logcat -ddump 当前日志缓冲区后退出adb logcat -d > log.txt
adb logcat -c清空日志缓冲区adb logcat -c
adb logcat -v time带时间戳显示adb logcat -v threadtime(线程+时间)
adb logcat -v brief *:S MyApp:D自定义过滤只显示 MyApp 的 Debug 及以上
adb logcat --pid=<pid>按进程 ID 过滤adb logcat --pid=12345

截屏与录屏

命令说明常用示例
adb shell screencap <path>截屏保存到设备adb shell screencap /sdcard/1.png
adb shell screencap -p截屏并输出到 stdoutadb shell screencap -p > screen.png
adb shell screenrecord <path>录屏(默认最长 180 秒,Ctrl+C 停止)adb shell screenrecord /sdcard/demo.mp4
adb shell screenrecord --time-limit <sec> <path>限制录屏时长adb shell screenrecord --time-limit 30 /sdcard/demo.mp4
adb shell screenrecord --size <WxH> <path>指定分辨率adb shell screenrecord --size 720x1280 /sdcard/demo.mp4
adb shell screenrecord --bit-rate <rate> <path>指定比特率adb shell screenrecord --bit-rate 4000000 /sdcard/demo.mp4

端口转发与调试

命令说明常用示例
adb forward tcp:<local> tcp:<remote>PC 端口 → 设备端口adb forward tcp:8080 tcp:8080
adb forward --list列出所有端口转发adb forward --list
adb forward --remove tcp:<local>移除端口转发adb forward --remove tcp:8080
adb forward --remove-all移除所有端口转发adb forward --remove-all
adb reverse tcp:<remote> tcp:<local>设备端口 → PC 端口(React Native 等)adb reverse tcp:8081 tcp:8081
adb reverse --list列出所有反向端口转发adb reverse --list
adb reverse --remove tcp:<remote>移除反向端口转发adb reverse --remove tcp:8081
adb jdwp列出支持 JDWP 调试的进程adb jdwp

常见问题速查

问题原因解决方案
adb devices 无输出adb 未在 PATH 中检查 ANDROID_HOME 和 PATH 配置
设备显示 unauthorized未授权 USB 调试手机上弹出授权对话框,点击”允许”,勾选”始终允许”
设备显示 offline连接异常重插 USB 或 adb kill-server && adb start-server
error: more than one device多设备连接adb -s <serial> 指定设备
INSTALL_FAILED_ALREADY_EXISTS已安装同包名应用adb install -r 覆盖安装,或先 adb uninstall
INSTALL_FAILED_VERSION_DOWNGRADE版本降级adb install -d 允许降级
无线连接失败未切换到 TCP/IP 模式先 USB 连接,执行 adb tcpip 5555,再 adb connect
adb push 权限不足目录无写入权限推送到 /sdcard/ 等可写目录
创建于 2026/7/6 更新于 2026/7/15