ADB是什么?
ADB,即 Android Debug Bridge(安卓调试桥) 是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到 adb 工具或下载 ADB Kits 。
ADB有什么作用?
ADB 是 Android SDK 里的一个工具, 用这个工具可以直接操作管理Android模拟器或者真实的Android设备。它的主要功能有:
在设备上运行Shell命令;
将本地APK软件安装至模拟器或Android设备;
管理设备或手机模拟器上的预定端口;
在设备或手机模拟器上复制或粘贴文件。
ADB 是一个客户端-服务器程序程序,包括三个组件:
客户端:该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
后台程序:该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
服务器:该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。
本文使用雷电模拟器4进行模拟安卓环境
adb使用
1,安装adb 配置环境变量
在系统环境变量path里加入路径
D:\android-sdk\android-sdk\platform-tools
2,在终端看是否安装成功
ADB常用命令
查看adb的版本信息
adb versionadb devices 查询已连接的设备/模拟器列表
车机或手机和PC在同一网络adb connect ip 端口号 连接设备查看包名和启动名
adb shell dumpsys window | findstr usedApp
adb shell am start -n com.android.launcher3 启动adb
一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。adb shell am force-stop 包名 停止adb shell pm list packages 列出手机安装的App的包名
adb shell pm list packages -s 列出系统的包名
adb shell pm list packages -3 列出3放应用的包名adb shell pm clear 包名 清缓存adb shell getprop ro.product.model 查看设备型号
adb shell getprop ro.build.version.release 查看设备型号
截图
adb shell screencap -p /sdcard/p.png文件上传和下载
adb push 本地文件 目标路径 上传
adb pull 目标文件 本地路径 下载
查看启动时间
adb shell am start -W 包名启动名
例:
1、打开通讯录,查看包名启动名 adb shell dumpsys window | findstr usedApp
2、关闭通讯录, adb shell am force-stop
3、查看通讯录启动时间
安装安卓文件
adb install -r name.apk (强制安装 -r)卸载
adb uninstall 包名
查日志
adb logccat
adb logcat -c 清楚之前的日志过滤关键字
adb shell 进入到Linux exit退出Linux模式
locat | grep -i 关键字
过滤关键字2
adb logcat | findstr关键字
将日志重定向到文件中
adb logcat > 文件
以 root 权限运行 adbd
adb root重启
adb reboot开启
adb start -server关闭
adb kill -server
压力测试monkey 胡乱点命令
adb shell monkey -p 包名 次数
日志等级 -v -vv -vvv 越来越细致
adb shell monkey -v -p 包名 次数 adb shell monkey -p 包名 -v 次数
中子数 -s 123无特别意义 标记monkey的操作顺序,便于复现
adb shell monkey -p 包名 -v -s 123 次数
闪退 crash 无响应 anr 需要复现设置间隔时间 -throttle
adb shell monkey -p 包名 -v -s 123 --throttle 次数 毫秒数
adb shell monkey -p com.yunmall.lc -v 100 -s 123 --thorttle 100 1000
需要了解:
- 执行此事件- - put - touch:
adb shell monkey -p 包名 --pct-touch 百分比 次数 - 忽略崩溃:- - ignore -crashes
adb shell monkey -p 包名 --ignore-crashes 次数 - 忽略超时:- - ignore -timeouts
adb shell monkey -p 包名 --ignore-timeouts 次数