adb
一、adb基础
1.什么是adb
android debug bridge
2.adb操作手机设备
- 打开应用
- adb shell am start -n com.tencent.wework/.launch.LaunchSplashActivity
- 传输文件
- 点击,输入,滑动等
- 硬件操作返回,回到首页
- 性能指标
3.adb工作原理
- 采用了客户端-服务器(C/S)模型,包括三个部分:
- 客户端 client
- 服务端 server
- 守护进程 daemon
二、adb环境搭建与配置
环境搭建
- Java 1.8
- Android SDK
1.JAVA环境安装
JDK环境安装
- 环境安装帖:Java环境准备贴-Windows
- java 官方下载地址:
- `Oracle Java 技术 | Oracle 中国
- /javase/javase-jdk8-downloads.html`
- 注意:windows下载exe安装包即可
- 社区提供下载地址:
- 链接:百度网盘-链接不存在
- 提取码:x2gb
- 配置环境变量
- JAVA_HOME:jdk安装根目录
- PATH:
- %JAVA_HOME%
- %JAVA_HOME%\bin
- %JAVA_HOME%\jre\bin
- 验证环境:java -version
2.SDK环境安装
SDK下载
SDK环境配置
ANDROID_HOME sdk路径
PATH %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
检查是否安装成功
- adb 回车(或者adb shell)
三、adb与设备交互
测试机型选择
- 模拟器
- 真机
Android模拟器种类
- Android Studio emulator(官方)
- genymotion(信赖网络)
- mumu,雷电,夜神,,逍遥等第三方模拟器(推荐)
连接模拟器(mumu为例)
- windows:
- adb connect 127.0.0.1:7555
- adb devices
- mac
- adb kill-server
- adb devices
连接真机(Android手机)设备
- 1.手机端:让手机处于一个调试模式
- 2.电脑端安装手机驱动
设备状态种类
- device正常
- offline连接出现异常,设备无响应
- unauthorized未授权
查看手机状态
- adb devices
- adb get-state
四、adb命令格式/安装卸载
adb命令格式
- 格式:
- adb [-d|-e|-s <serialNumber> ] <command>
- -d 指定当前唯一通过USB连接的android设备为命令目标(了解)
- -e 指定当前唯一运行的模拟器为命令目标(了解)
- -s 指定相应的设备为命令目标(重点)
安装
- 普通安装 adb install <apk路径>
- 覆盖安装/替代安装adb install -r <apk路径>
卸载
- 卸载应用
adb uninstall 包名 - 卸载应用(不删除配置文件,保存数据缓存信息)
adb uninstall -k 包名
五、adb命令启动页面
包和Activity(活动页)的概念
- package包:是Android应用的唯一标志
- Activity活动页:Android应用页面,一个页面就是一个Activity
获取当前的页面名
- 1.打开手机app应用的某个页面
- 2.打开命令行工具
- 执行命令:adb shell “dumpsys window | grep mCurrentFocus”
获取启动页面的Activity
- 命令:
- mac:adb logcat ActivityManager:I | grep “cmp”
- win:adb logcat ActivityManager:I | findstr “cmp”
启动页面
- 命令:adb shell am start -n <包名>/<activity名>
六、adb命令清理缓存
adb shell 应用1
- 查看目录结构:adb shell ls
- 查看系统当前日期:adb shell date
- 查看系统CPU使用情况:adb shell cat /proc/cpuinfo
- 查看系统内存使用情况:adb shell cat /proc/meminfo
adb shell 应用2-查看应用列表
- 显示所有应用:adb shell pm list packages
- 显示系统自带应用:adb shell pm list packages -s
- 显示第三方应用:adb shell pm list packages -3
adb shell 应用3-查看当前的页面名
- adb shell “dumpsys window | grep mCurrentFocus”
清除应用数据及缓存
- adb shell pm clear <包名>
七、adb 文件传输
Android设备与电脑传输文件
传输文件
- adb push 电脑路径 设备路径
- adb pull 设备路径 电脑路径
八、adb 日志操作
使用adb查看日志
日志的级别
- V - 明细verbose(最低优先级)
- D - 调试debug
- I - 信息info
- W - 警告warn
- E - 错误error
- F - 严重错误 fatal
- S - 无记载 silent(最高优先级,绝不会输出任何内容)
adb命令查看日志
- adb logcat
查看日志常用参数1
格式:
- adb logcat --help
- adb logcat [TAG:LEVEL] [TAG:LEVEL] …
查看日志常用参数2
- adb logcat 打印默认日志数据
- adb logcat -v time 打印时间
- adb logcat -v color 使用不同的颜色来显示每个优先级
- adb logcat -f 将日志输出到文件
- adb logcat > log.log 保存日志到PC上
- adb logcat -c 清理已存在的日志
根据条件过滤日志
- adb logcat -v time “*:W” 打印 Warning及以上级别的日志
- adb logcat ActivityManage:D ‘*:S’ 过滤tag 为ActivityManager,level为Debug及以上级别的日志
常见问题
https://developer.android.com/topic/performance/vitals/crash
九、adb模拟按键操作
adb模拟手机按键
- 1.打开【指针位置】设置
- 2.执行adb shell input 命令
模拟点击事件
adb shell input tap x坐标 y坐标
模拟输入事件
adb sell input text <输入内容>
模拟滑动事件
adb shell swipe <起点x> <起点y> <终点x> <终点y> <滑动时长>
模拟手机按键
https://developer.android.com/reference/android/view/KeyEvent
- 返回键:adb shell input keyevent 4
- Home键:adb shell input keyevent 3(置应用于后台运行)
- 音量放大:adb shell input keyevent 24
- 音量缩小:adb shell input keyevent 25