ADB,即 Android Debug Bridge,是一个通用命令行工具,用于与 Android 设备进行通信。ADB 由三个独立的部分组成:
- ADB 守护进程 (adbd):运行在 Android 设备上的后台进程。
- ADB 客户端:用于发送命令的命令行工具。
- ADB 服务器:作为 ADB 客户端和 ADB 守护进程之间的中介,用于管理连接和命令的传输。
ADB 支持多种用途,包括安装和调试应用、执行 shell 命令、管理设备端口、访问设备文件系统等。在本指南中,我们将详细介绍 ADB 的各种操作命令。
1. 连接到设备
在使用 ADB 命令之前,需要确保你的计算机与 Android 设备建立了连接。通常,这需要开启设备的 USB 调试模式,并安装适当的 USB 驱动程序。
-
检查设备连接:
adb devices
这个命令将列出所有已连接的设备,包括真机和模拟器。
-
指定设备: 如果你连接了多个设备,可以使用
-s
选项来指定特定的设备。例如:adb -s <device-id> shell
2. 安装和卸载应用
-
安装应用:
adb install <apk-path>
这个命令将指定的 APK 文件安装到设备上。
-
覆盖安装:
adb install -r <apk-path>
使用
-r
选项可以覆盖安装现有应用。 -
卸载应用:
adb uninstall <package-name>
这个命令将卸载指定包名的应用。
3. 文件传输
-
从设备复制文件到计算机:
adb pull <device-path> <local-path>
这个命令将设备上的文件复制到本地计算机。
-
从计算机复制文件到设备:
adb push <local-path> <device-path>
这个命令将本地文件上传到设备的指定路径。
4. Shell 命令
-
进入 Shell:
adb shell
这个命令将打开设备的 shell,你可以在这里执行各种 Linux 命令。
-
执行 Shell 命令:
adb shell <command>
你可以直接在 ADB 中执行 Shell 命令,而无需进入 Shell 环境。
5. Logcat 日志
-
查看日志:
adb logcat
这个命令将显示设备的日志输出。
-
过滤日志:
adb logcat -s <tag>
使用
-s
选项可以过滤特定标签的日志。
6. 设备信息
-
查看设备型号:
adb shell getprop ro.product.model
-
查看 Android 版本:
adb shell getprop ro.build.version.release
-
查看 SDK 版本:
adb shell getprop ro.build.version.sdk
7. 设备管理
-
重启设备:
adb reboot
-
重启到 Bootloader:
adb reboot bootloader
-
重启到 Recovery:
adb reboot recovery
8. 端口转发
- 设置端口转发:
这个命令可以将本地计算机的端口转发到设备的端口。adb forward <local-port> <remote-port>
9. 应用管理
-
启动应用:
adb shell am start -n <package-name>/<activity-name>
-
强制停止应用:
adb shell am force-stop <package-name>
10. 屏幕操作
-
屏幕截图:
adb exec-out screencap -p > screenshot.png
-
录制屏幕:
adb shell screenrecord /sdcard/demo.mp4
录制完成后,可以使用
adb pull
命令将视频文件复制到计算机。
11. 系统文件操作
-
查看系统文件:
adb shell cat <file-path>
-
编辑系统文件:
adb shell nano <file-path>
或者使用其他文本编辑器。
12. 权限管理
- 授予或撤销权限:
adb shell pm <grant|revoke> <package-name> <permission-name>
13. 网络连接
- 查看网络状态:
adb shell netstat
这个命令可以查看设备的网络连接状态。
- 连接到 Wi-Fi:
这个命令会打开设备的 Wi-Fi 选择界面。adb shell am start -a android.net.wifi.PICK_WIFI_NETWORK
14. 调试应用
-
启动调试模式:
adb shell am set-debug-app -w <package-name>
这个命令会设置指定应用为调试模式。
-
清除调试模式:
adb shell am clear-debug-app
15. 电池信息
- 查看电池信息:
这个命令会显示电池的当前状态、级别和温度等详细信息。adb shell dumpsys battery
16. 性能数据
-
查看 CPU 使用情况:
adb shell top
或者
adb shell dumpsys cpuinfo
-
查看内存使用情况:
adb shell dumpsys meminfo
17. 系统设置
- 修改系统设置:
例如,关闭自动亮度:adb shell settings put <namespace> <key> <value>
adb shell settings put system screen_brightness_mode 0
18. 系统属性
-
查看系统属性:
adb shell getprop
-
设置系统属性:
adb shell setprop <key> <value>
19. 安全和认证
-
启用或禁用 USB 调试:
adb shell settings put global adb_enabled 0|1
-
解锁 OEM 锁:
adb oem unlock
20. 应用数据管理
-
清除应用数据:
adb shell pm clear <package-name>
-
备份应用数据:
adb backup -noapk -f <backup-file> <package-name>
-
恢复应用数据:
adb restore <backup-file>
21. 系统更新
- sideload 更新:
这个命令用于通过 ADB 侧载系统更新包。adb sideload <update-file.zip>
22. 其他实用命令
-
查看 ADB 版本:
adb version
-
杀死 ADB 服务器:
adb kill-server
-
重启 ADB 服务器:
adb start-server
结论
ADB 是 Android 开发和测试中非常强大的工具。它允许开发者通过命令行与 Android 设备进行交互,执行各种操作,从安装应用到查看日志,再到系统级别的调试。熟练掌握 ADB 命令可以极大地提高开发效率,特别是在自动化测试、性能监控和系统调试方面。
然而,使用 ADB 命令也需要谨慎,因为一些操作可能会影响设备的正常使用,甚至导致数据丢失。因此,在使用 ADB 命令时,建议在安全的环境中进行,并确保对命令的含义和后果有充分的理解。
此外,随着 Android 平台的发展,ADB 的功能和命令也在不断更新和扩展。开发者应该定期查看最新的 ADB 文档,以了解最新的命令和特性。通过不断学习和实践,开发者可以更好地利用 ADB 这一强大的工具,为 Android 应用开发提供有力的支持。