ADB命令在Android应用测试中的高效运用
在Android应用的测试过程中,ADB(Android Debug Bridge)作为一款强大的命令行工具,极大地提升了我们的工作效率。本文将系统地介绍ADB的常用操作命令,助您在测试过程中快速完成安装、卸载、调试以及设备控制等任务。
一、基础操作
-
查看连接设备
- 使用
adb devices
列出当前连接到计算机的所有Android设备或模拟器。
- 使用
-
启动/关闭ADB服务
- 启动ADB服务:
adb start-server
- 关闭ADB服务:
adb kill-server
- 启动ADB服务:
-
安装与卸载应用
- 安装应用:
adb install <apk文件路径>
- 卸载应用(并清除数据和缓存):
adb uninstall <应用包名>
- 保留数据和缓存文件卸载应用:
adb uninstall -k<package>
- 安装应用:
-
设备重启
- 重启设备:
adb reboot
- 进入Bootloader模式:
adb reboot bootloader
- 进入Recovery模式:
adb reboot recovery
- 重启设备:
-
文件传输
- 将电脑文件推送到设备:
adb push <本地路径> <远程路径>
- 从设备拉取文件到电脑:
adb pull <远程路径> <本地路径>
- 将电脑文件推送到设备:
-
设备shell操作
- 登录设备shell:
adb shell
- 执行设备命令:
adb shell <command命令>
- 登录设备shell:
-
截屏与屏幕录制
- 截屏并保存到电脑:
adb shell screencap -p /sdcard/screenshot.png && adb pull /sdcard/screenshot.png <本地路径>
- 录制设备屏幕:
adb shell screenrecord --bugreport /sdcard/xxx.mp4
- 截屏并保存到电脑:
-
获取设备信息
- 查看设备基本信息、版本信息、加密状态等:
adb shell cat/sys/devices/mx_tsp/appid adb shell cat/proc/lk_info/sw_version adb shell cat/proc/lk_info/sec adb shell getprop ro.build.product (手机型号) adb shell getprop ro.build.version.release (安卓版本) adb shell getprop ro.build.display.id (Flyme版本)
- 查看设备基本信息、版本信息、加密状态等:
二、进阶操作与性能分析
-
输出系统服务信息
- 输出所有运行的service信息:
adb shell dumpsys
- 查看指定system service信息,如activity服务:
adb shell dumpsys activity
- 输出所有运行的service信息:
-
查看性能指标
- 输出设备CPU使用情况:
adb shell dumpsys cpuinfo
- 查看电池状态:
adb shell dumpsys batterystate
- 获取分辨率信息:
adb shell dumpsys window
- 输出设备CPU使用情况:
-
日志查看与过滤
- 查看logcat日志:
adb logcat -v time -s tag > xxx.log
- 过滤特定tag的日志:
adb logcat | grep <正则表达式>
- 实时查看并保存日志:
adb logcat | grep <正则表达式> | tee xxx.log
- 查看logcat日志:
-
模拟按键输入
- 模拟发送按键事件:
adb shell input keyevent <键值>
,例如返回主页:adb shell input keyevent 4
- 模拟发送按键事件:
-
强制停止进程
- 强制结束指定进程:
adb shell am force-stop <进程名>
- 强制结束指定进程:
-
启动Activity
- 启动指定Activity:
adb shell am start -n <包名>/<Activity名>
- 启动指定Activity:
-
网络与硬件操作
- 开关WiFi:
adb shell svc wifi enable/disable
- 查看WiFi密码(需要root权限):
adb shell cat/data/misc/wifi/*.conf
- 查看序列号:
adb get-serialno
- 查看CPU和内存占用情况:
adb shell top
- 开关WiFi:
三、文件管理与调试相关
-
文件操作
- 删除文件:
adb shell rm <文件路径>
- 删除文件夹及其子文件:
adb shell rm -r <文件夹路径>
- 移动文件:
adb shell mv <原路径> <新路径>
- 设置文件权限:
adb shell chmod 777 <文件>
- 新建文件夹:
adb shell mkdir <路径/foldername>
- 查看文件内容:
adb shell cat <file>
- 删除文件:
-
刷新内存信息
- 刷新一次内存信息后退出:
adb shell top -n 1
- 查看占用内存前6的应用:
adb shell top -m 6
- 查询各进程内存使用情况:
adb shell procrank
- 查看后台services信息:
adb shell servicelist
- 刷新一次内存信息后退出:
-
处理端口冲突
- 当显示端口被占用时,可以查找并结束占用端口的进程,然后重新启动ADB服务。
-
Monkey测试
- 执行Monkey压力测试:
adb shell monkey -v -p <进程名> <次数>
- 执行Monkey压力测试:
总结:熟练掌握ADB命令,能够帮助我们更高效地进行Android应用测试工作,简化安装、卸载、调试及性能监控等一系列流程,提升测试效率。同时,在遇到问题时,通过ADB可以迅速定位故障点,为解决问题提供有力支持。