adb (Android Debug Bridge) 是 Android 开发中最重要的工具之一,它允许你在电脑和 Android 设备之间进行通信。
以下是整理好的 ADB Linux 命令大全,按功能分类,方便你快速查找和使用。
基础连接与管理
| 命令 | 说明 |
|---|---|
adb devices | 列出所有连接的设备(包括模拟器),显示 device 表示已连接,unauthorized 表示未授权。 |
adb start-server | 启动 adb 服务进程。 |
adb kill-server | 杀死 adb 服务进程(常用于解决连接问题)。 |
adb connect <IP:端口> | 通过 Wi-Fi 连接设备(需先在设备上开启 TCP/IP 调试)。 |
adb disconnect <IP:端口> | 断开通过 Wi-Fi 连接的设备。 |
adb -s <serial> | 指定序列号操作(当连接多个设备时使用,如 adb -s emulator-5554 shell)。 |
如何开启 Wi-Fi 调试?
- 先通过 USB 连接设备。
- 执行
adb tcpip 5555。- 拔掉 USB,执行
adb connect <设备IP>:5555。
文件传输 (Push/Pull)
| 命令 | 说明 |
|---|---|
adb push <本地路径> <远程路径> | 将文件从电脑复制到手机。 |
adb pull <远程路径> <本地路径> | 将文件从手机下载到电脑。 |
adb push ./app.apk /sdcard/Download/ | 示例:将当前目录下的 apk 推送到手机下载文件夹。 |
adb pull /sdcard/DCIM/Camera/ ./photos/ | 示例:将手机相机照片拉取到电脑当前目录下的 photos 文件夹。 |
注意: 如果目标目录不存在,可能需要先创建目录(使用
adb shell mkdir -p /path)。
执行 Shell 命令 (adb shell)
这是最常用的部分,进入设备终端后可以使用 Linux 命令。
常用 Shell 命令
| 命令 | 说明 |
|---|---|
adb shell | 进入设备远程 Shell。 |
adb shell ls | 列出当前目录文件。 |
adb shell ls -l | 列出文件详细信息。 |
| 显示当前工作目录。 |
adb shell cd /path | 切换目录。 |
adb shell mkdir /data/local/tmp/test | 创建目录。 |
adb shell rm -rf /path/to/file | 删除文件或目录。 |
adb shell cat /path/to/file | 查看文件内容。 |
adb shell echo "text" > /path/to/file | 到文件。 |
adb shell chmod 755 /path/to/file | 修改文件权限。 |
adb shell mount -o remount,rw /system | 重新挂载系统分区为可读写(需 root)。 |
常用系统信息命令
| 命令 | 说明 |
|---|---|
adb shell getprop | 查看所有系统属性。 |
adb shell getprop ro.build.version.release | 获取 Android 版本。 |
adb shell getprop ro.product.model | 获取手机型号。 |
adb shell wm size | 获取屏幕分辨率。 |
adb shell wm density | 获取屏幕像素密度。 |
adb shell dumpsys battery | 查看电池状态。 |
adb shell dumpsys wifi | 查看 Wi-Fi 状态。 |
adb shell ps | 查看进程列表。 |
adb shell top | 实时查看 CPU/内存占用(按 q 退出)。 |
adb shell df | 查看存储空间使用情况。 |
应用管理
| 命令 | 说明 |
|---|---|
adb install <apk路径> | 安装 APK 文件。 |
adb install -r <apk路径> | 覆盖安装(保留数据)。 |
adb install -g <apk路径> | 安装并授予所有运行时权限。 |
adb uninstall <包名> | 卸载应用(保留数据)。 |
adb uninstall -k <包名> | 卸载应用并保留数据。 |
adb shell pm list packages | 列出所有已安装应用的包名。 |
adb shell pm list packages -f | 列出包名及其对应的 APK 路径。 |
adb shell pm list packages -d | 列出被禁用的应用。 |
adb shell pm list packages -e | 列出启用的应用。 |
adb shell pm clear <包名> | 清除应用数据和缓存。 |
adb shell am start -n <包名>/<活动类名> | 启动指定应用的某个 Activity。 |
adb shell am force-stop <包名> | 强制停止应用进程。 |
如何获取包名和 Activity 名?
使用adb shell dumpsys window | grep mFocusedApp可以查看当前前台应用的包名和 Activity 名。
日志抓取 (Logcat)
| 命令 | 说明 |
|---|---|
adb logcat | 实时输出日志到控制台。 |
adb logcat > log.txt | 将日志保存到本地文件。 |
adb logcat -c | 清除之前的日志。 |
adb logcat -b radio | 查看无线电日志(通话、信号等)。 |
adb logcat -b events | 查看事件日志。 |
adb logcat -b main | 查看主日志(默认)。 |
adb logcat -b system | 查看系统日志。 |
adb logcat :E | 只显示 Error 级别及以上的日志。 |
adb logcat | grep "关键词" | 在日志中搜索特定关键词(需配合管道符)。 |
adb logcat -v time | 以时间格式显示日志。 |
adb logcat -v threadtime | 显示线程和时间信息(更详细)。 |
屏幕与交互
| 命令 | 说明 |
|---|---|
adb shell screencap -p /sdcard/screen.png | 截图并保存到手机。 |
adb pull /sdcard/screen.png ./ |
将截图拉到电脑。 |
adb shell input text "hello" | 输入文本(不支持中文,需 Unicode 编码)。 |
adb shell input tap <x> <y> | 模拟点击屏幕坐标。 |
adb shell input swipe <x1> <y1> <x2> <y2> | 模拟滑动操作。 |
adb shell input keyevent <代码> | 模拟按键(如 3=HOME, 4=BACK, 26=POWER)。 |
adb shell input keyevent 26 | 模拟电源键(亮屏/锁屏)。 |
adb shell input keyevent 4 | 模拟返回键。 |
adb shell input keyevent 3 | 模拟 Home 键。 |
常用 Keyevent 代码:
- 3: Home
- 4: Back
- 5: 打开应用
- 6: 拨号
- 26: 电源
- 66: 回车
- 67: 删除
- 26: 锁屏
高级技巧与故障排除
1 重启设备
adb reboot # 重启到系统 adb reboot recovery # 重启到 Recovery 模式 adb reboot bootloader # 重启到 Bootloader 模式(Fastboot)
2 查看设备信息
adb shell getprop | grep "ro.product" # 查看产品属性 adb shell dumpsys power | grep "mScreenOn" # 检查屏幕是否开启
3 解决 “adb devices” 显示 unauthorized
- 检查手机是否弹出授权对话框,点击“允许”并勾选“始终允许”。
- 如果没弹出,尝试
adb kill-serveradb start-server。 - 重新插拔 USB 线。
- 确保 USB 调试已开启。
4 解决连接不稳定
adb kill-server adb start-server adb devices
5 查看连接的设备序列号
adb devices -l
输出示例:
List of devices attached
emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 常用快捷键与技巧
- Tab 补全:在
adb shell中,按Tab键可以自动补全命令或路径。 - 后台运行:
adb logcat > log.txt &将日志后台运行。 - 多设备操作:始终使用
-s <serial>指定设备,避免混淆。 - 脚本化:可以将常用命令写成
.sh脚本,方便批量操作。
注意事项
- 权限问题:访问
/data目录下的文件通常需要 root 权限。 - 路径问题:Linux 路径区分大小写,注意使用绝对路径或正确相对路径。
- 编码问题:
input text命令不支持中文,如需输入中文,建议使用adb shell am broadcast或第三方工具。 - 安全警告:不要随意
adb shell rm -rf /,这可能会破坏系统。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

发表回复