一、ADB概述
ADB的全称是Android Debug Bridge 安卓调试桥。
用于通过电脑端来操作模拟器或真实设备的命令行工具。它存在于电脑端platform-tools目录下(adb.exe),adb是一种C/S架构的客户端-服务器程序。
二、下载及安装
1.下载adb工具
下载解压只有有如下文件:
2.双击adb.exe文件,并运行。
3.配置环境变量
变量名随便填—变量值(即:adb的路径安装路径)
到此adb安装完成。现在进行测试:
打开运行—输入
cmd
—输入adb version,出现下图即安装成功
三、adb命令:
adb链接设备,设备要开启开发者模式;(最好一台电脑连接一台调试设备,便于测试)
a
1、查看adb版本:adb version
2、启动 adb server 命令:adb start-server
3、停止 adb server 命令:adb kill-server
4、重启设备:adb reboot
5、屏幕截图:adb shell screencap /sdcard/Download/screen.png
6、屏幕录制:adb shell screenrecord /sdcard/Download/test.mp4
7、解锁:adb disable-verity
8、向手机端传递文件:adb push 目标文件路径 手机端SDCard存放路径
9、从手机端下载文件:adb pull 目标文件路径 电脑端存放路径
10、启动一个APP、启动Activity、启动广播和服务:adb shell am start 包名
11、清除APP数据:adb shell pm clear 包名【该命令清除掉APP的缓存,还能把APP的数据给清空】
12、查询已连接设备/模拟器:adb devices
首次使用adb devices,出现* daemon not running. starting it * daemon started successfully * 表示正在启动adb服务;
List of devices attached下方没出现任何信息,表示手机没连上电脑,或者电脑上没安装手机的驱动。插拔usb数据线,电脑屏幕出现无法识别的usb设备,表示手机驱动没安装好;
出现adb server version (32) doesn’t match this client (36),表示adb端口冲突,被其它应用占用了,比如(91助手,手机管家之类的)【解决:卸载91助手,手机管家之类的】;
设备状态说明:
设备序列号+device:表示成功连接adb服务器。
设备序列号+unauthorized:表示手机未授权给电脑连接【解决:打开手机允许USB调试,USB连接配置选择MTP】;
设备序列号+offline:表示真机或者模拟器没有连接到adb 服务器 或者是没有响应。【解决:开启usb调试模式、关闭第三方手机助手软件、重启adb服务(命令:adb kill-server 、adb start-server)】
13、多个设备使用指令:adb -s 设备序列号 指令。
举例:给某个设备安装apk文件
adb -s 设备序列号 install xxx.apk
14、安装APK文件,绝对路径:
adb install apk文件绝对路径:适用于第一次安装,直接安装
命令执行结果分析:
结果1:Failure[INSTALL_FAILED_ABORTED:User rejected permissious.]
表示用户拒绝安装(未关闭监控安装)
解决:打开手机-设置-开发者模式选项-关闭“监控ADB安装应用”
结果2:Failure[INSTALL_FAILED_ALREADY_EXISTS:Attempt to re-install 包名
without first uninstalling.]
表示手机中已安装该app
解决:adb install -r apk文件绝对路径 强制安装,覆盖存在app,不删除应用数据。
结果3:Failure[INSTALL_FAILED_VERSION_POWNGRADE.]
表示当前安装的app版本低于已经安装的应用版本。
解决:卸载已安装应用,再安装低版本app
命令参数:
-t :允许测试包
-l :锁定该应用程序
-d :允许降级覆盖安装,即安装的比手机上带的版本低。
-g :为应用程序授予所有运行时的权限
-r :替换已存在的应用程序,强制安装
-s :把应用程序安装在SD卡上
15、查看手机端安装的App包名
adb shell pm list packages
adb shell pm list packages –f:在后面加上 -f ,能显示该APP的路径。
16、查找手机端某一个App包名
adb shell am monitor:输入命令后,手动在手机端启动需要获取包名的app,电脑端实时响应显示该包名。
adb shell dumpsys window w | findstr \/ |findstr name=:首先在手机打开需要获取报名的app,然后电脑端输入该命令。即显示正在运行的应用的包名。
17、卸载App
adb uninstall com.xxx:直接删除应用和所有数据
adb uninstall -k com.xxx:删除应用,但保留应用数据和缓存数据。【输入该命令无法执行时可用adb shell cmd package uninstall -k】
四、系统进程命令
1、查看进程信息
adb shell ps:可在该命令后加包名,来查看某个应用程序的进程信息。
2、查看CPU使用情况
adb shell top:查看系统CPU使用情况。(ctrl+c结束)
五、事件模拟命令
Logcat
1、显示日志信息:adb logcat
2、将日志写入文件中:adb logcat -> test.log
3、手机bug抓取日志:输入命令adb logcat -v time > log (文件名) 【进行操作bug的复现操作即可, logcat.log在cmd执行命令的文件下】
4、清除main缓存区域日志:adb logcat –c
5、清除所有日志:adb logcat -c -b main -b events -b radio -b system
6、抓取日志输出到文件:adb logcat | findstr LogUtils > D:\LogInfo.log