ADB全名Andorid Debug Bridge。 是一个Debug工具。为何称之为Bridge呢? 因为adb是一个标准的C/S结构的工具, 是要连接开发电脑和调试手机的 包含如下几个部分: 1.Client端,运行在开发机器中,即你的开发PC机。用来发送adb命令。 2.Daemon守护进程, 运行在调试设备中, 即的调试手机或模拟器。 3.Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机. 用来管理PC中的Client端和手机的Daemon之间的通信。
三者之间的通信 Client<—>Server<—>Daemon adb帮助 adb --help 启动adb server adb start-server 关闭adb server adb kill-server 获取设备号 adb devices 获取系统版本 adb -s 设备号 shell getprop ro.build.version.release 发送文件到手机 adb push 电脑端文件路径/需要发送的文件 手机端存储的路径 示例: 将桌面的xx.png发送到手机sdcard目录下 adb push C:\Users\win\Desktop\xx.png /sdcard 从手机拉取文件 adb pull 手机端的路径/拉取文件名 电脑端存储文件路径 示例: 将手机/sdcard目录中的xx.png文件,发送到电脑桌面 adb pull /sdcard/xx.png C:\Users\win\Desktop 查看手机运行日志 adb logcat 手机shell命令行adb shell
获取app启动包名和启动名(⚠️ 手机需要先打开对应app) 1.Mac/Linux: 'adb shell dumpsys window windows | grep mFocusedApp’ 2.在 Windows 终端运行 'adb shell dumpsys window windows’ 然后去看mFocusedApp这一行的内容。 安装app到手机 adb install 路径/xx.apk 卸载手机手机app adb uninstall 包名 获取app启动时间 adb shell am start -W 包名/启动名 示例: adb shell am start -W com.yly.drawpic/.MainActivity 解释: TotalTime:app自身启动时间 WaitTime:系统启动应用时间主流的移动端自动化工具 Robotium
1.支持语言:Java 2.仅支持Android系统 3.不支持跨应用Macaca
1.支持语言:Java,Python,Node.js 2.支持Android和iOS系统 3.支持跨应用Appium
1.支持语言:Java,C#,Python,php,perl,ruby,Node.js 2.支持Android和iOS系统 3.支持跨应用自动化工具选择的关注点
1.是否支持native,webview 2.是否支持获取toast 3.是否支持跨应用