确认ADB是否能够正常连接到手机
windows系统下:
用USB线连好手机后,进入AirtestIDE文件夹,在 AirtestIDE_2019-05-09_py3_win64/airtest/core/android/static/adb/windows
目录下按住shift+鼠标右键打开命令行终端,输入 adb.exe devices
。
mac系统下:
在解压dmg后会提示你将应用安装至Application/文件夹,因此可以在终端命令行中,cd到 AirtestIDE_2019-05-09_py3_win64\airtest\core\android\static\adb\mac 目录下,运行 ./adb devices
正常情况下,应该得到的返回内容示例:
>adb.exe devices
List of devices attached
(手机的设备号) device
- 如果看不到
设备号 device
这一行,需要检查电脑上是否已经安装了该款手机的对应 官方驱动软件 ,如果尚未安装驱动的话就检测不到手机。请自行查阅手机品牌官网,下载官方驱动进行安装。 - 建议尽量使用机箱背面的USB接口,主机正面的USB接口可能稳定性较差
- 手机上需要将 开发者选项 开启,并开启 USB调试 选项,并且在接入电脑时,选择 允许该PC对设备进行调试,否则手机状态为unauthorized是无法连接的
- 务必再三确认电脑上所有手机助手类型的软件均已关闭,且进程都已完全退出(大部分手机助手都需要手工在任务管理器里终止进程)
ADB 是Google官方提供的Android调试工具,由于AirtestIDE与相关的库都需要依赖ADB操作,因此如果无法通过 adb devices
看到自己的设备的话,就无法继续使用AirtestIDE,请务必确认手机能够正确连接到PC。
华为
- 输入法设置中,取消安全输入
- 开发者选项->监控ADB安装应用取消,打开仅充电模式下允许调试
- 权限监控->设置->自动配置权限
- 部分华为型号的手机,可能出现点击位置与实际位置不符的情况(mate20pro, mate7等),需要在
设置
-显示
-屏幕分辨率
中,将分辨率设置为最高即可。
vivo
- 取消安全输入,如果遇到Poco初始化失败、text接口无法调用的问题,可以在输入法设置中将Yosemite输入法设置为默认:
- 部分机型需要 在开发者选项中打开安全权限 ,否则可能在初始化poco的时候看到以下报错:
OPPO
- 开发者选项的最底部,勾选 禁止监控权限
- OPPO部分机型在每次安装APK时都需要输入密码:暂无更靠谱的解决方案,有一个帖子可以供参考 [收集帖] 各厂手机不能自动化的坑和解决方案 。
- 部分OPPO机型在初始化Poco时,或者调用
text()
接口时,会失败报错,原因可能是因为安装或者切换Yosemite输入法失败(需要输入OPPO账号密码才能切换)。此时可以先到系统设置-输入法设置里,将Yosemite输入法设置为默认输入法,如果尚未安装Yosemite输入法,可以在AirtestIDE\airtest\core\android\static\apks
目录下找到它并且手工安装到手机上之后,即可开始使用Poco功能以及text()
接口。
魅族
魅族手机部分型号无法直接通过ADB进行连接,具体解决方案请参照这个 帖子
刷出重复设备
刷新时发现两台同样的设备,状态各为device和offline。
一般因为开启了手机助手,关掉后再次刷新即可。
未运行模拟器时刷出了emulator-5554设备
原因:模拟器打开5554端口后,adb只要检测到这个端口打开,会认为存在设备。
以Windows7系统为例:
- 进入AirtestIDE/airtest/core/android/static/adb/windows文件夹
Shift+右键,进入命令窗口,输入 “adb.exe devices”
如果出现 emulator-5554的设备,执行步骤②
- 执行操作:
- 执行热键 Windows + R
- 输入 “services.msc”
- 停止 BlueStacks Android Service
频繁出现adb.exe已停止工作弹窗
一般是手机助手强占adb导致,请关闭手机助手,确保adb.exe进程、手机助手相关进程不在后台,再进行重试。
这个问题的主要原因是,本地可能存在多个版本的 adb.exe
,导致启动时会相互冲突,如果本地Python环境中安装了airtest,且在AirtestIDE运行脚本时报这个错
- 请使用USB线连接手机,手机上出现的
允许USB调试
弹窗点击确定
, - 点击连接面板中的
refresh ADB
按钮,设备列表将会刷新, - 点击列表内对应设备的
Connect
完成连接, - 若设备未刷出,点击
refresh ADB
按钮.