文章目录
- 一、前言
- 二、设备连接
- 1. 连接真机
- 1. USB数据线连接设备
- 2. Wifi连接设备
- 2. 模拟器
- 查看系统现有的android平台
- 查看系统现有的模拟器(avd)
- 创建模拟器
- 删除模拟器
- 启动模拟器
- 三、adb命令
- - 查看设备内部Packages list
- - 安装/卸载apk文件
- 1、安装应用
- 只有一台设备时,默认安装该设备
- 多个设备连接时,指定设备安装文件
- 2、卸载应用
- 查看设备上关于应用的缓存数据
- - 启动应用页面
- 获取当前指定页面名
- 获取启动页面名
- 获取页面也可以通过logcat查找
- 查看小程序`androidProcess`进程
- - 清理设备的缓存
- `abd shell`应用-使用Linux命令
- `adb shell` 应用-查看应用列表
- 清除应用数据及缓存
- - 传输文件
- 将PC端文件推送到Android设备
- 将Android设备的文件拉取到PC端
- - 查看设备日志
- 设备日志级别
- adb命令查看日志
- 日志过滤
一、前言
adb全称android debug bridge,是用于操作安卓设备的工具。
使用前需要确认adb工具是否正确安装和配置adb version
二、设备连接
adb devices
# 查看当前链接的设备
其中列出的设备会注明当前设备状态
- device 正常连接
- offline 设备连接异常,无响应
- unauthorized 未授权
1. 连接真机
需要设置设备,确保“开发者模式”打开(根据自己手机机型操作)
1. USB数据线连接设备
- 在电脑上命令行输入
adb devices
即可查找到连接的真机
2. Wifi连接设备
- 确保设备和PC使用的是同一局域网
- 查找到设备ip,例如192.168.0.188
- 此时暂时仍然使用usb连接着设备
- 使用
adb tcpip 5555
重启adb - 使用
adb connect 设备ip
如:adb connect 192.168.0.188
- 连接成功就可以拔掉usb数据线连接了
- 使用
adb disconnect
取消连接
2. 模拟器
模拟器连接直接在电脑上启动设备,即可连接上
模拟器操作
查看系统现有的android平台
android list targets
查看系统现有的模拟器(avd)
android list avd
emulator -list-avds
创建模拟器
android create avd -n 待创建模拟器名称 -t android平台id
android平台id
通过上述命令android list targets
查看系统先用android平台
删除模拟器
android delete avd -n 模拟器名称
启动模拟器
emulator -avd 模拟器名称
三、adb命令
命令格式
adb [-d | -e | -s 设备号 ] command
-d :当前唯一连接的真机设备
-e :当前唯一连接的模拟器设备
-d :存在多个设备时,指定连接某个设备
- 查看设备内部Packages list
adb shell pm list packages
- 安装/卸载apk文件
1、安装应用
只有一台设备时,默认安装该设备
adb install -r apk文件路径
-r参数: 覆盖安装
多个设备连接时,指定设备安装文件
adb -s 设备udid install apk文件路径
2、卸载应用
adb -s 设备号 uninstall packageName
adb uninstall -k packageName
-k 参数:不删除配置文件,保存数据缓存信息;不加该参数就是完全清除应用数据
查看设备上关于应用的缓存数据
adb -s 设备号 shell
通过shell进入设备内环境cd /data/data
ls
展示所有安装包名,找到对应应用包名cd 应用包名
进入可以查看到所有缓存数据
- 启动应用页面
- package(包):Android应用的唯一标识
- activity(活动页):Android应用页面,一个页面也就是指一个activity
启动指定页面
am:activity manager
adb shell am start -n packageName/activity
获取当前指定页面名
参考:https://testerhome.com/topics/9209
操作步骤如下
1、使用设备打开对应应用的指定页面2、在pc端命令行工具,使用adb命令获取当前页面adb shell "dumpsys window | grep mCurrentFocus"
或者执行adb shell dumpsys activity | grep mFocusedActivity
获取启动页面名
操作步骤
1、在终端输入如下命令:adb logcat ActivityManager:I | grep "cmp"
2、重新启动应用
终端将输出日志,我们找到启动应用第一次出现的数据,cmp后面的内容即是我们启动页Activity
获取页面也可以通过logcat查找
打印手机日志,并且过滤
adb logcat | grep -i displayed
查看小程序androidProcess
进程
- 通过
adb shell dumpsys activity top | grep ACTIVITY
获取到当前进程的pid
- 通过
adb shell ps $pid
获取到androidProcess
进程
- 清理设备的缓存
Android操作系统底层是Linux系统,所以我们也可以使用Linux命令操作系统设备。
然而,adb shell
就是pc端系统连接Android设备的通道,可以通过它访问设备的各种文件以及操作文件。adb shell
直接进入设备内环境,然后再使用Linux命令操作
abd shell
应用-使用Linux命令
-
adb shell ls
查看目录结构 -
adb shell data
查看系统当前日期 -
adb shell cat /proc/cpuinfo
查看系统CPU使用情况 -
adb shell cat /proc/meminfo
查看系统内存使用情况
备注:如果存在多个设备需要使用-s 设备号
指定设备
adb shell
应用-查看应用列表
pm:package manager
查看设备上所有安装的应用
-
adb shell pm list packages
:显示所有应用,添加参数-f
打印出包名的同时给出应用地址 -
adb shell pm list packages -s
:只显示系统自带应用 -
adb shell pm list packages -3
:只显示系统第三方应用,即用户自己安装的应用 -
adb shell pm list packages -e '相关包内容'
:可以搜索指定包
清除应用数据及缓存
adb shell pm clear packageName
应用缓存数据位置:
1、
adb -s 设备号 shell cd /data/data/packageName
2、ls
展示所有缓存数据文件夹及文件
- 传输文件
将PC端文件推送到Android设备
adb push PC端文件路径 Android设备准备存储文件的路径
将Android设备的文件拉取到PC端
adb pull Android设备的文件路径 PC端准备存储文件的路径
- 查看设备日志
设备日志级别
由上至下优先级别从低到高
级别 | 备注 |
V | 明细 verbose |
D | 调试 debug |
I | 信息 info |
W | 警告 warn |
E | 错误 error |
F | 严重错误 fatal |
S | 无记载silent,不会输出任何内容 |
adb命令查看日志
adb logcat
会打印出设备上目前所有操作日志
adb logcat -c
清理已存在的日志,将之前的日志信息(日志缓存信息等)清空, 重新开始输出日志信息adb logcat -s xxx
设置默认的过滤器, 如想要输出 “System.out” 标签的信息adb logcat -s System.out
adb logcat -v time
打印时间,现在默认打印日志时间adb logcat -v color
使用不同颜色显示不同优先级的日志adb logcat -f <设备端文件路径>
将日志输出到设备上指定文件adb logcat > PC文件路径
保存日志到PC端上的指定文件
"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
"-g"选项 : 查看日志缓冲区信息
日志过滤
日志格式
adb logcat [TAG:LEVEL] [TAG:LEVEL]....
[TAG:LEVEL] 即[标签:日志级别]:通过这样的指令可以过滤标签
例如:
-
adb logcat -v time "*:W"
打印Warning级别以上的日志,*待别所有tag -
adb logcat ActicityManager:D "*:S"
过滤tag为ActivityManager、级别为Debug及以上的日志