Android调试桥(ADB)命令全面解析:从基础到高级操作指南

586 阅读5分钟

Android调试桥(ADB,Android Debug Bridge)是Android开发工具包(SDK)中的一个多功能命令行工具,广泛用于与Android设备进行交互。无论是调试应用程序、管理设备状态,还是进行性能分析,ADB都提供了强大的功能。本文详细介绍常用的ADB命令,并探讨其在不同开发场景中的应用,包括测试、Python开发、Android开发等。

1. 初始化ADB环境

开始使用ADB之前,需要确保ADB工具已正确安装并配置在系统路径中。可以通过以下命令检查ADB版本:

adb version

2. 连接设备

在执行ADB命令之前,需要确保设备已正确连接到电脑。可以通过以下命令检查设备连接状态:

adb devices

如果设备已正确连接,会显示设备的序列号。

3. 安装APK

使用 adb install 命令安装APK文件,-r 参数表示覆盖安装:

adb install -r "apk路径"

4. 卸载APK

通过 adb uninstall 命令卸载指定包名的应用程序:

adb uninstall "包名"

5. 查询App包名

通过 aapt 命令查询APK文件的包名:

aapt dump badging "apk路径" | findstr package

在自动化测试中,获取包名是一个常见的需求。

6. 启动Activity

使用 adb shell am start 命令启动指定包名和Activity的App:

adb shell am start -n com.example.app/com.example.app.MainActivity

这在进行自动化测试时非常有用,可以直接启动特定的Activity。

7. 查看App的Activity值

通过 aapt 命令查询APK文件的Activity值:

aapt dump badging "apk路径" | findstr activity

8. 重启App

使用 adb shell am start 命令重启指定包名和Activity的App:

adb shell am start -W -n com.huhuo.auto(包名)/com.huohu.auto.activity.Startivity(activity值)

9. 停止App

通过 adb shell am force-stop 命令停止指定包名的应用,但不清除数据:

adb shell am force-stop com.sohu.sohuvido(包名)

10. 清除App数据

使用 adb shell pm clear 命令停止并清除指定包名的应用程序数据:

adb shell pm clear com.sohu.sohuvido(包名)

这在测试场景中非常有用,可以模拟首次启动应用程序的体验。

11. 查看设备信息

使用 adb shell getprop 命令查看设备属性信息:

adb shell getprop

12. 查看进程信息

使用 adb shell ps 命令查看设备上所有运行的进程:

adb shell ps

在性能分析时,可以通过此命令检查应用程序的资源占用情况。

13. 监听进程状态

使用 adb shell top 命令监听指定包名的进程状态:

adb shell "top -n 10 | grep com.huohu.auto(包名)"

14. 实时监听进程变化

使用 adb shell top 命令实时监听指定包名的进程变化:

adb shell "top | grep com.huhuo.asdwq(包名)"

15. 查看PID进程状态

通过 adb shell ps 命令查看指定PID的进程状态:

adb shell ps -x PID

16. 查询进程占用端口

通过 netstat 命令可以查询指定端口的进程占用情况:

netstat -ano | findstr "端口号"

17. 杀掉进程

通过 tasklist 命令杀掉指定PID的进程:

tasklist /f /pid "端口号"

18. 查询任务ID

使用 tasklist 命令查找指定端口的任务ID:

tasklist | findstr "端口号"

19. 实时查看CPU和内存使用

通过 adb shell top 命令实时查看CPU和内存使用情况:

adb shell top

可以配合 grep 命令过滤指定包名的进程信息:

adb shell "top | grep 包名"

20. 查看日志

使用 adb logcat 命令查看设备日志,支持通过标签过滤日志:

adb logcat -s TAGNAME

可以将日志保存到本地文件:

adb logcat > log.txt

21. 发送按键事件

通过 adb shell input keyevent 命令发送按键事件,例如按下Home键:

adb shell input keyevent 3

在自动化测试中,可以通过此命令模拟用户的按键操作。

22. 输入文本

使用 adb shell input text 命令在设备上输入文本:

adb shell input text "HelloWorld"

23. Top用法

通过 adb shell top 命令查看进程信息,支持多个参数:

adb shell top -m num -n num -d num -s col -t -h | grep com.huohu.auto(包名)
  • -m num:最多显示 num 个进程。
  • -n num:刷新次数。
  • -d num:刷新间隔时间(默认为5秒)。
  • -s col:按哪列排序。
  • -t:显示线程信息而不是进程。
  • -h:显示帮助文档。

24. 截图

通过 adb shell screencap 命令截图并保存到设备,然后通过 adb pull 命令将截图传输到电脑:

adb shell screencap -p /sdcard/test.png
adb pull /sdcard/test.png C:\Users\Desktop

25. 录屏

使用 adb shell screenrecord 命令录制屏幕并保存到设备:

adb shell screenrecord /sdcard/demo.mp4
adb pull /sdcard/demo.mp4 C:\Users\Desktop

26. 查看已安装App

通过 adb shell pm list packages 命令列出设备上安装的所有应用程序:

adb shell pm list packages

可以指定过滤条件,例如列出系统应用:

adb shell pm list packages -s

27. 推送文件到设备

使用 adb push 命令将文件从电脑推送到设备:

adb push C:\Users\Desktop\file.txt /sdcard/

28. 从设备拉取文件

通过 adb pull 命令将文件从设备拉取到电脑:

adb pull /sdcard/file.txt C:\Users\Desktop\

29. 重启设备

使用 adb reboot 命令重启设备:

adb reboot

可以指定重启模式,例如恢复模式:

adb reboot recovery

应用场景

1、测试

在测试场景中,ADB提供了丰富的功能,例如:

  • 安装/卸载应用程序。
  • 启动/停止应用程序。
  • 获取日志和截图。
  • 模拟用户操作。

2. Python开发

通过Python脚本调用ADB命令,可以实现自动化测试、设备管理等功能。例如:

import os

# 安装APK
os.system('adb install -r "apk路径"')

# 获取日志
os.system('adb logcat > log.txt')

3. Android开发

在Android开发中,ADB是调试和测试的重要工具,例如:

  • 查看设备信息和日志。
  • 进行性能分析。
  • 管理设备文件。

总结

ADB命令是Android开发和调试中不可或缺的工具,本文详细介绍了常用的ADB命令,并探讨了其在不同开发场景中的应用。无论是测试、Python开发还是Android开发,ADB都能提供强大的支持。希望本文能为您的开发工作提供帮助!