菜鸟科技网

cmd adb命令

adb (Android Debug Bridge) 是一个强大的命令行工具,它允许你与模拟器或连接的 Android 设备进行通信,在 Windows 的 cmd (命令提示符) 或 PowerShell 中使用 adb 是 Android 开发者和爱好者的必备技能。

cmd adb命令-图1
(图片来源网络,侵删)

环境准备

在开始之前,你必须确保 adb 命令可以在任何目录下被识别到,这需要将 adb 的路径添加到系统的 Path 环境变量中。

  1. 下载 ADB: 从 Android 官方 SDK 平台工具页面 下载 platform-tools 压缩包。
  2. 解压: 将下载的 ZIP 文件解压到一个固定且不含中文和空格的路径,C:\adb
  3. 添加到 Path:
    • 右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
    • 在“系统变量”中找到名为 Path 的变量,双击它。
    • 点击“新建”,然后将 C:\adb (或你的解压路径) 添加进去。
    • 一路点击“确定”保存设置。
  4. 验证: 打开一个新的 cmd 窗口,输入 adb version,如果显示了版本号,说明配置成功。

常用 ADB 命令分类详解

以下命令都在 cmd 窗口中执行。

基础与设备连接

这些是使用 adb 最先需要掌握的命令。

命令 作用 示例
adb version 检查 adb 版本信息。 adb version
adb devices 最常用,列出所有连接的设备(真机或模拟器)。 adb devices
adb start-server 强制启动 adb 后台服务器。 adb start-server
adb kill-server 非常常用,停止 adb 后台服务器,在设备连接异常或无法识别时,先执行此命令,再重试。 adb kill-server
adb connect <设备IP>:<端口> 通过网络连接到设备(需在设备上开启“无线调试”)。 adb connect 192.168.1.100:5555
adb disconnect 断开所有网络连接的设备。 adb disconnect

adb devices 输出说明:

cmd adb命令-图2
(图片来源网络,侵删)
  • List of devices attached: 下面是设备列表。
  • xxxxxxxx device: 设备已连接并授权,可以正常使用。
  • xxxxxxxx unauthorized: 设备已连接,但未授权电脑,请在手机弹出的对话框中点击“允许”。
  • xxxxxxxx offline: 设备离线或无响应,可以尝试 adb kill-server 后重连。

文件操作

在电脑和设备之间传输文件非常方便。

命令 作用 示例
adb push <本地路径> <设备路径> 将电脑上的文件复制到设备上。 adb push C:\Users\YourUser\Desktop\test.txt /sdcard/
adb pull <设备路径> <本地路径> 将设备上的文件复制到电脑上。 adb pull /sdcard/DCIM/Camera/ /D:\backup\
adb shell 进入设备的 Linux 命令行环境,后续命令都在设备上执行。 adb shell

Shell 命令 (核心)

adb shelladb 的灵魂,让你能在设备上执行各种 Linux 命令。

1 Shell 基础操作

命令 作用 示例
adb shell 进入交互式 Shell,输入 exit 或按 Ctrl+C 退出。 adb shell
adb shell <命令> 在单行中执行 Shell 命令,不进入交互模式。 adb shell ls /sdcard/
adb shell pm list packages 列出所有已安装的应用包名。 adb shell pm list packages
adb shell pm list packages -f 列出包名及其对应的 APK 文件路径。 adb shell pm list packages -f
adb shell pm path <包名> 查找指定应用的 APK 文件在设备上的完整路径。 adb shell pm path com.tencent.qq
adb shell am force-stop <包名> 强制停止一个应用。 adb shell am force-stop com.tencent.qq
adb shell dumpsys activity top \| findstr "ACTIVITY" 查看当前前台运行的应用的包名和 Activity。 adb shell dumpsys activity top \| findstr "ACTIVITY"

2 Shell 文件和目录管理

命令 作用 示例
ls 列出当前目录下的文件和文件夹。 ls
cd <目录> 切换目录。 cd /sdcard/Download
mkdir <目录名> 创建新目录。 mkdir my_folder
rm <文件> 删除文件。 rm test.txt
rm -r <目录> 递归删除目录及其所有内容。 rm -r my_folder
cat <文件> 查看文件内容。 cat /sdcard/system.prop
chmod <权限> <文件> 修改文件权限。 chmod 777 /sdcard/script.sh

应用管理

安装、卸载、清除数据等操作。

命令 作用 示例
adb install <APK路径> 安装应用到设备。 adb install C:\app\my_app.apk
adb install -r <APK路径> 覆盖安装应用(保留数据和缓存)。 adb install -r C:\app\my_app_v2.apk
adb uninstall <包名> 卸载应用(会删除应用数据)。 adb uninstall com.tencent.qq
adb uninstall -k <包名> 卸载应用但保留数据和缓存 adb uninstall -k com.tencent.qq
adb shell pm clear <包名> 清除应用数据和缓存(相当于在设置中“清除缓存”)。 adb shell pm clear com.tencent.qq

日志查看

调试应用问题的利器。

cmd adb命令-图3
(图片来源网络,侵删)
命令 作用 示例
adb logcat 最常用,实时查看设备的系统日志,按 Ctrl+C 停止。 adb logcat
adb logcat -c 清空之前的日志缓存。 adb logcat -c
adb logcat -s <标签> 只显示指定标签的日志。 adb logcat -s ActivityManager
adb logcat | findstr "关键字" 过滤日志,只显示包含关键字的行。 adb logcat \| findstr "E/MyApp"
adb logcat -v time 以时间戳格式显示日志。 adb logcat -v time

屏幕与输入

模拟用户操作。

命令 作用 示例
adb shell input keyevent <按键码> 模拟按键。 adb shell input keyevent 26 (电源键)
adb shell input keyevent 82 (菜单键)
adb shell input tap <x坐标> <y坐标> 模拟点击屏幕指定位置。 adb shell input tap 500 1200
adb shell input swipe <x1> <y1> <x2> <y2> <时长> 模拟滑动屏幕。 adb shell input swipe 300 1000 300 500 300 (从下往上滑动)
adb shell screencap -p <设备路径> 截取屏幕并保存到设备。 adb shell screencap -p /sdcard/screenshot.png
adb shell screenrecord <设备路径> 录制屏幕,按 Ctrl+C 停止。 adb shell screenrecord /sdcard/record.mp4

系统信息

获取设备状态。

命令 作用 示例
adb shell getprop 查看设备的所有系统属性。 adb shell getprop
adb shell getprop ro.product.model 获取设备型号。 adb shell getprop ro.product.model
adb shell getprop ro.build.version.release 获取 Android 系统版本。 adb shell getprop ro.build.version.release
adb shell settings get global airplane_mode_on 查看飞行模式状态。 adb shell settings get global airplane_mode_on

实战场景示例

场景:你开发了一个 App,想在调试时查看它的日志。

  1. 连接设备: adb devices (确保设备已连接并显示 device)
  2. 安装 App: adb install -r C:\MyApp\app-debug.apk
  3. 清除旧数据 (可选): adb shell pm clear com.mycompany.myapp
  4. 启动 App: 在手机上手动启动。
  5. 查看日志:
    • 打开一个新的 cmd 窗口。
    • 运行 adb logcat | findstr "MyApp"
    • 现在在 App 中进行操作,你会在 cmd 窗口中实时看到相关的日志输出。

场景:你的 App 卡住了,需要强制重启它。

  1. 停止应用: adb shell am force-stop com.mycompany.myapp
  2. 重新启动应用 (通过 ADB): adb shell am start -n com.mycompany.myapp/.MainActivity (需要知道你的主 Activity)

常见问题与解决

  • 问题: 'adb' 不是内部或外部命令...

    • 解决: 没有正确配置环境变量,请重新检查 Path 变量是否包含了 adb.exe 所在的文件夹路径。
  • 问题: adb devices 显示 unauthorized

    • 解决: 在手机上找到弹出的“允许 USB 调试”的对话框,勾选“总是允许”并点击“确定”。
  • 问题: 设备连接时断时续或 offline

    • 解决: 尝试更换 USB 线、USB 接口,或者在电脑上执行 adb kill-server 后再拔插 USB 线重连。
  • 问题: Windows 上 adb pulladb push 时提示 Protocol errorfailed to copy...

    • 解决: 这通常是 MTP (媒体传输协议) 的问题,在手机的通知栏,将 USB 连接模式从“传输文件”或“MTP”切换为“充电”模式,然后再切回“传输文件”模式,或者直接重启电脑和手机。

希望这份详细的指南能帮助你熟练掌握 cmd 中的 adb 命令!

分享:
扫描分享到社交APP
上一篇
下一篇