1、adb (android debug bridge 安卓调试桥) 连接PC和手机,让电脑能够通过adb的命令来操作控制手机。
Android 系统基于linux内核,使用java语言开发了一系列脚本工具。
安卓系统中,很多的命令都是继承自linux的。
2、Android SDK(software development kit 软件开发工具包) 中就会包含adb。
- 搭建adb的环境:
1.简化版,直接拷贝adb.exe和两个相关的dll文件,就可以运行adb。
2.标准版:把SDK环境搭建起来,更方便进行安卓调试,因为要用到里面的一系列工具。
0.电脑上安装好JDK(java)环境
1.下载解压 SDK包,运行SDK manager
2.下载的内容:
build-tools 构建工具,对应于不同的安卓系统版本开发包。用于完成打包构建等。
extras SDK自带的一些插件
platforms 和build-tools呼应,这是真正开发Android程序需要使用的开发包版本(SDK API)。
platform-tools 必备基本平台连接工具。 里面包含了 连接需要使用的adb工具套件。
sources SDK 安卓版本的源码。
tools 常用的调试工具。
3.配置环境变量。
3、adb的基本原理:
adb是一个cs架构的工具。
adb client cmd 、手机助手等工具。
adb server运行在电脑上,通过wifi (tcp)或者usb线 完成和手机的连接。
adbd 进程,运行在安卓手机上。
建议刚开始学装个模拟器玩,别用真机。 mumu 夜神 雷电 逍遥 genymotion。
4、adb 命令:
- 设备类:
adb devices 查询连接的设备。
adb shell 进入到连接设备的安卓系统中。可以用linux命令来进行操作,如果要退回windows,在shell状态下输入exit
adb -s 设备名 命令名 指定多个设备中的其中一个进行操作。
安卓系统常用目录:
/system 系统相关的内容 /system/bin 安卓系统命令存放的位置
/data 安装的应用程序存放的位置
/data/anr 目录中存放了系统出现应用未响应的时候的日志信息,有时候开发会需要这个日志
/data/app 用包名的格式来管理手机上安装的一系列第三方的应用
/data/data 存放了安装的应用(包括系统应用)的数据,如果想要清理应用数据,可以去删除对应包下的内容。
adb connect 设备名 连接远程设备或者模拟器。
文件管理类:
adb install 《安装包在电脑上的路径》 需要使用apk安装包。 测试的时候由开发提供包,然后测试进行安装。
adb uninstall 《包名》 基于包名完成手机上安装的应用的卸载
adb push 电脑上的文件 手机上的目录 上传文件到手机指定目录。
cat 命令 可以通过重定向符修改文件内容。 ctrl+D 退出编辑。
adb pull 手机上的目录 电脑上的文件 下载文件到电脑上。
包和activity(可以理解为app中的一个页面)管理:
adb shell pm: pm list package 命令 显示包名 -3 参数显示第三方应用。 应用包的查询
adb shell am : 启动应用。需要先找到应用的启动界面(launchable activity)
adb shell am start -W -S 包名/启动activity名
- 系统类命令:
adb shell dumpsys 获取系统的信息
adb shell dumpsys activity|findstr "mFoc" 查找当前手机上运行的界面。 查找到的作为启动界面来使用的话,尽量动作快一点。
adb shell monkey 执行随机测试。通常用于安卓的稳定性压测。
用monkey获取activity:adb shell monkey -p 包名 -v -v -v 次数 也可以用来对应用进行随机的稳定性测试
在执行日志中,找到 Using开头的,后面就是真正的启动activtiy。
adb logcat 获取安卓的日志。
adb logcat -v time > 本地文件名 将安卓的日志 保存到本地。
用法:当需要进行测试的时候,先开启adb logcat命令捕获日志,测完之后,退出捕获,保存好的日志进行查看,交给开发分析。复现问题的时候抓日志。
- 互动操作类命令:
adb shell input :
tap: adb shell input tap x坐标 y坐标 点击坐标位置
text: adb shell input text 文本内容 输入文本内容
swipe: adb shell input swipe 起点坐标 终点坐标 时间 执行滑动操作。
可以通过adb命令完成在手机上的操作,执行并不稳定,通常不会用于作为完整自动化手段,而是作为自动化测试的补充手段。 真正做自动化测试:appium uiautomator airtest 等框架工具来进行实现,更加稳定。
adb工具包下载
配置环境变量: