ADB命令详解

ADB命令详解

一、ADB基本概念

ADB(Android Debug Bridge)是Android SDK中的一个工具,用于在电脑和Android设备之间建立通信桥梁,进行调试和控制。

分享文件:android_sdk_test.7z
链接:https://pan.xunlei.com/s/VOdWsqmzSJiSkWvm4Fgyl_6NA1?pwd=pd9s#
复制这段内容后打开迅雷,查看更方便
解压放到 C:\Users\zhangdingqu\AppData\Local\Android\Sdk。
环境变量设置为
C:\Users\zhangdingqu\AppData\Local\Android\Sdk\platform-tools
C:\Users\zhangdingqu\AppData\Local\Android\scrcpy-win64-v3.3.3

主要功能

  • 安装/卸载应用程序
  • 在设备和计算机之间复制文件
  • 在设备上运行Shell命令
  • 查看设备日志
  • 调试应用程序
  • 控制设备状态

二、设备管理命令

1. 查看连接的设备

adb devices

显示所有已连接的Android设备和模拟器列表。

2. 重启ADB服务器

adb kill-server    # 停止ADB服务器
adb start-server  # 启动ADB服务器
adb restart       # 重启ADB服务器(部分版本支持)

当设备连接异常时,通常需要重启ADB服务器。

3. 指定设备执行命令

当有多个设备连接时,需要指定设备:

adb -s <设备序列号> <命令>

例如:

adb -s emulator-5554 install app.apk

4. 以root权限连接设备

adb root

将ADB以root权限重新启动,用于访问系统文件。

5. USB连接相关

adb usb           # 将ADB模式切换到USB
adb tcpip 5555    # 将ADB模式切换到TCP/IP,端口为5555

6. 无线连接设备

# 确保设备和电脑在同一网络
adb connect <设备IP地址>:5555
# 断开无线连接
adb disconnect <设备IP地址>:5555

三、文件操作命令

1. 从电脑复制文件到设备

adb push <本地路径> <设备路径>

例如:

adb push D:\test.txt /sdcard/

2. 从设备复制文件到电脑

adb pull <设备路径> <本地路径>

例如:

adb pull /sdcard/test.txt D:\downloads\

3. 列出设备目录内容

adb shell ls <目录路径>

例如:

adb shell ls /sdcard/

4. 创建目录

adb shell mkdir <目录路径>

5. 删除文件

adb shell rm <文件路径>

6. 删除目录

adb shell rmdir <目录路径>  # 删除空目录
adb shell rm -r <目录路径>   # 递归删除目录及其内容

7. 查看文件内容

adb shell cat <文件路径>

四、应用管理命令

1. 安装应用

adb install <APK文件路径>
adb install -r <APK文件路径>    # 覆盖安装
adb install -s <APK文件路径>    # 安装到SD卡
adb install -d <APK文件路径>    # 允许降级安装
adb install -g <APK文件路径>    # 授予所有运行时权限

2. 卸载应用

adb uninstall <包名>
adb uninstall -k <包名>  # 卸载应用但保留数据和缓存

3. 查看已安装应用

adb shell pm list packages                 # 列出所有已安装应用的包名
adb shell pm list packages -s              # 列出系统应用
adb shell pm list packages -3              # 列出第三方应用
adb shell pm list packages | findstr <关键词>  # Windows下查找包含关键词的应用
adb shell pm list packages | grep <关键词>    # Linux/Mac下查找包含关键词的应用

4. 启动应用

adb shell am start -n <包名>/<主Activity>

例如:

adb shell am start -n com.android.settings/com.android.settings.Settings

5. 停止应用

adb shell am force-stop <包名>

6. 清除应用数据和缓存

adb shell pm clear <包名>

7. 导出应用APK

adb shell pm path <包名>    # 查看APK路径
adb pull <APK路径> <本地路径>

五、系统操作命令

1. 重启设备

adb reboot                  # 正常重启
adb reboot recovery         # 重启到Recovery模式
adb reboot bootloader       # 重启到Bootloader模式(Fastboot模式)

2. 获取设备信息

adb shell getprop ro.product.model           # 获取设备型号
adb shell getprop ro.build.version.release   # 获取Android系统版本
adb shell getprop ro.serialno                # 获取设备序列号
adb shell wm size                            # 获取屏幕分辨率
adb shell wm density                         # 获取屏幕密度

3. 屏幕截图

adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png <本地路径>

4. 录制屏幕

adb shell screenrecord /sdcard/video.mp4     # 开始录制,按Ctrl+C停止
adb pull /sdcard/video.mp4 <本地路径>

参数说明:

  • --time-limit <秒>: 设置录制时长,默认180秒
  • --size <WIDTHxHEIGHT>: 设置视频尺寸
  • --bit-rate <比特率>: 设置视频比特率

5. 控制设备屏幕

adb shell input keyevent 26    # 电源键(锁屏/解锁)
adb shell input keyevent 82    # 菜单键
adb shell input keyevent 3     # Home键
adb shell input keyevent 4     # 返回键
adb shell input keyevent 66    # 回车键

6. 模拟触摸事件

adb shell input tap <x坐标> <y坐标>

7. 模拟滑动事件

adb shell input swipe <起始x> <起始y> <结束x> <结束y> [持续时间(ms)]

8. 输入文本

adb shell input text <文本内容>

注意:文本中不能包含空格,特殊字符需要转义

六、日志操作命令

1. 查看日志

adb logcat                  # 查看实时日志
adb logcat > log.txt        # 保存日志到文件

2. 过滤日志

adb logcat -s <TAG>:<级别>    # 按标签和级别过滤

日志级别:V(Verbose), D(Debug), I(Info), W(Warn), E(Error), F(Fatal), S(Silent)

3. 清除日志缓存

adb logcat -c

4. 获取崩溃日志

adb bugreport > bugreport.zip

生成包含设备所有状态信息的完整报告

七、网络相关命令

1. 查看网络状态

adb shell netstat
adb shell ifconfig           # 查看网络接口信息
adb shell ip addr           # 查看IP地址信息

2. 开启/关闭WiFi

adb shell svc wifi enable    # 开启WiFi
adb shell svc wifi disable   # 关闭WiFi

3. 端口转发

adb forward tcp:<本地端口> tcp:<远程端口>

将本地端口的请求转发到设备的指定端口

八、Shell命令

1. 进入设备Shell

adb shell

进入设备的命令行环境

2. 直接执行Shell命令

adb shell <命令>

例如:

adb shell ls -la /sdcard/
adb shell ps          # 查看运行中的进程
adb shell top         # 查看CPU使用情况

3. 查看CPU和内存使用情况

adb shell dumpsys cpuinfo
adb shell dumpsys meminfo <包名>   # 查看指定应用的内存使用情况

九、高级使用技巧

1. 批量操作多个设备

adb devices | tail -n +2 | cut -sf 1 | xargs -I {} adb -s {} <命令>

对所有连接的设备执行相同的命令

2. 监控应用启动时间

adb shell am start -W <包名>/<主Activity>

显示应用启动的冷启动、热启动和温启动时间

3. 查看应用权限

adb shell dumpsys package <包名> | findstr permission

4. 修改设备分辨率

adb shell wm size 1080x1920     # 设置分辨率
adb shell wm size reset         # 恢复默认分辨率

5. 禁用应用

adb shell pm disable-user <包名>    # 禁用应用
adb shell pm enable <包名>          # 启用应用

十、常见问题解决

1. 设备无法连接

  • 重启ADB服务器:adb kill-server 然后 adb start-server
  • 检查USB调试是否已启用
  • 更换USB线或USB端口
  • 安装正确的USB驱动

2. 命令执行权限不足

  • 使用 adb root 获取root权限
  • 检查文件或目录权限

3. 无线连接不稳定

  • 确保设备和电脑在同一网络
  • 尝试更改TCP/IP端口
  • 检查防火墙设置

十一、ADB环境变量配置(Windows)

  1. 下载并安装Android SDK Platform Tools
  2. 将platform-tools目录添加到系统环境变量PATH中
  3. 验证:打开命令提示符,输入 adb version 检查版本

十二、总结

ADB是Android开发和测试中不可或缺的工具,掌握这些命令可以大大提高工作效率。本文档涵盖了常用的ADB命令,但ADB的功能远不止这些,更多高级功能可以通过 adb --helpadb shell <命令> --help 查看。

在实际使用中,建议根据具体需求组合使用这些命令,并善用脚本自动化重复性工作。

posted @ 2025-11-08 13:14  zhangdingqu  阅读(300)  评论(0)    收藏  举报