adb (Android Debug Bridge)是 Android SDK 的一个工具,可以通过它来操作Android 设备,是Android App 客户端测试必备的工具。
具有安装卸载应用、拷贝推送文件、查看应用程序占用资源、执行shell命令等功能
Android SDK提供了构建Android app应用程序所需的API库和开发工具,用于测试和调试应用程序。
Android SDK 是基于 Java的,需要安装JDK
模拟器
以夜神模拟器为例:
1. 将Android SDK中的adb.exe替换到夜神模拟器的bin目录下的adb.exe
2. nox_adb.exe也需要替换
真机
不同品牌、型号的手机存在一些差异,大体方式是:
1. 通过USB线连接上PC端
2. 进入手机→设置→关于手机→连续点击5下版本号,打开开发者模式选项
3. 进入开发者选项,勾选USB调试选项,允许调试弹窗选择【是】
4. 勾选【一律允许使用该台计算机进行调试】选项
(具体手机打开开发者模式的方式可自行百度查看)
adb help
adb devices
adb kill-serveradb start-server
adb install # 覆盖安装
adb install -r
adb uninstall # 获取前台运行应用的包名, Windows系统使用 findstr 过滤关键字, Mac/Linux系统使用 grep 过滤关键字
# Android v7.0以下
adb shell dumpsys activity | findstr "mFocusedActivity"# Android v7.0以上
adb shell dumpsys activity | findstr "mResumedActivity"
# 从手机中拉取信息放到本地电脑上
adb pull <拉取文件所在的手机路径> <本机路径>注意:拉取系统权限的目录下的文件,需要root权限# 从本地推送信息到手机上去
adb push <本机路径> <手机路径>
adb tcpip 5555
adb connect <设备IP地址>:5555
adb disconnect <设备IP地址>:5555
adb logcat# Windows系统使用 findstr 过滤关键字, Mac/Linux系统使用 grep 过滤关键字
adb logcat | findstr "xxx"
adb logcat | grep "xxx"
与adb命令的区别:adb命令是adb程序自带的一些参数完成不同的功能,而adb shell 是通过调用Android系统中的命令,这些命令存放于Android系统的 /system/bin 目录下。
登录设备shell模式adb shell
pm (package manager)是Android系统的内置命令,可以获取Android上的应用程序信息
# 列出所有应用的包名
adb shell pm list packages# 列出系统级别的应用
adb shell pm list packages -s# 列出第三方应用
adb shell pm list packages -3# 列出对于应用的安装路径
adb shell pm path <应用包名># 获取应用的详细信息
adb shell pm dump <应用包名># 清除应用的数据
adb shell pm clear <应用包名>
am (activity manager),这个命令可以启动 Activity、打开或关闭进程
# 启动应用
adb shell am start -n <应用包名>/<应用启动入口># 停止目标应用,再启动
adb shell am start -S <应用包名>/<应用启动入口># 启动应用,并且等待应用完成启动
adb shell am start -w <应用包名>/<应用启动入口># 强制停止应用
adb shell am force-stop <应用包名>
通过该命令可以向Android设备发送按键事件
# 向输入框输入文本内容(不支持中文)
adb shell input text <文本内容># 发送按键事件操作
adb shell input keyevent <按键事件># 发送触摸事件
adb shell input tap # 发送滑动事件
adb shell input swipe <起始点x轴坐标> <起始点y轴坐标> <终止点x轴坐标> <终止点y轴坐标>
# 截屏
adb shell screencap -p /sdcard/xx.png# 录制视频,ctrl+c 组合键结束录制操作
adb shell screenrecord /sdcard/xx.mp4
# 列出所有输入法
adb shell ime list -s# 设置输入法
adb shell ime set <输入法包名>
# 获取CPU信息
adb shell dumpsys cpuinfo# 获取内容信息
adb shell dumpsys meminfo# 获取activity信息
adb shell dumpsys activity# 获取package信息
adb shell dumpsys package <应用包名># 获取wifi信息
adb shell dumpsys wifi