5.2 Android连接FAQ

Note

若以下内容未能解决您的问题,请移步 AirtestIDE Issues 页面,将手机型号、错误log以及问题描述进行提交,我们会尽快修复。

5.2.1 问题自查

关闭手机助手类软件

请确认当前环境下没有其他第三方 手机助手 类软件正在运行,如果有,请完全退出(并确认任务管理器中没有相关进程依然残留)后再试一次。

设备兼容性

我们已经对当前市面上大部分用户使用的机型做了兼容性测试,请查看 目前已测试机型列表 确认自己的手机是否兼容。

如果您使用的手机不在列表中,请将手机型号、错误log以及问题描述 提交issue

如果您使用的手机在列表当中显示兼容,但实际使用中遇到了问题,请继续查阅文档进行问题排查。

确认ADB是否能够正常连接到手机

windows系统下:

用USB线连好手机后,进入AirtestIDE文件夹,在 AirtestIDE/airtest/core/android/static/adb/windows 目录下按住shift+鼠标右键打开命令行终端,输入 adb.exe devices

mac系统下:

在解压dmg后会提示你将应用安装至Application/文件夹,因此可以在终端命令行中,cd到 Application/AirtestIDE.app/Contents/MacOS/airtest/core/android/static/adb/mac 目录下,运行 ./adb devices

正常情况下,应该得到的返回内容示例:

>adb.exe devices
List of devices attached
JTJ4C15A30048654(手机的设备号) device

如果未能正常出现上述输入,需要检查以下几个方面:

  • 如果看不到 设备号 device 这一行,需要检查电脑上是否已经安装了该款手机的对应 官方驱动软件 ,如果尚未安装驱动的话就检测不到手机
  • 建议尽量使用机箱背面的USB接口
  • 手机上需要将 开发者选项 开启,并开启 USB调试 选项,并且在接入电脑时,选择 允许该PC对设备进行调试,否则状态可能会显示成unauthorized
  • 确认电脑上所有手机助手类型的软件均已关闭,且进程都已完全退出

ADB 是Google官方提供的Android调试工具,由于AirtestIDE与相关的库都需要依赖ADB操作,因此如果无法通过 adb devices 看到自己的设备的话,就无法继续使用AirtestIDE,请务必确认手机能够正确连接到PC。

确认Airtest相关文件能够正常安装到手机

若能够在 adb devices 指令的返回结果中看到自己的设备,但是无法使用AirtestIDE,可以继续检查以下几个方面:

  • 在设备接入IDE进行初始化时,还会在手机上安装一个RotationWatcher.apk的应用(用于检测手机屏幕是否旋转),可能会在手机上有安装apk的弹窗提醒,需要手工点击同意安装
  • 部分型号的手机默认阻止了ADB安装apk的权限,请在开发者选项中打开该配置项,否则无法安装必备的apk
  • 如果是已root的手机,可能会因为本地文件夹权限已被修改,导致Airtest没有权限将相关文件放入手机内,请检查手机内的 /data/local/tmp 文件夹是否有写入权限
  • 如果手机曾经安装过 STF 库,可能会出现不能正常点击屏幕等问题,可以尝试清空原先安装的STF相关文件(执行指令 adb shell rm /data/local/tmp/mini* )后,再重新将手机连接到IDE中进行初始化

如果输入adb devices后能够正确出现手机设备号信息,但在AirtestIDE中依然不能正确连接和操作手机画面,请将手机型号、错误log以及问题描述 提交issue

5.2.2 是否支持模拟器、IOS

目前已支持模拟器,目前有两种连接方式:

iOS的连接也已经支持,详见 iOS-连接

5.2.3 部分设备的特殊问题

  • 小米设备

    请在“开发者选项”中将“允许模拟点击位置”、“USB安装”、“USB调试(安全设置)”等选项打开,部分选项的开启可能需要 登录MIUI账号

    MIUI论坛关于USB安装调试的说明

  • 三星设备

    如果画面大小异常,请在“设置”-“显示”中将“屏幕分辨率”调至“WQHD

    ../_images/samsung_phone.png
  • 部分设备“返回”-“主页”-“菜单”等按钮失效

    • vivo Y55A
    • vivo Y67
    • vivo X20 Plus(屏幕指纹版)
    • 红米 3X (Redmi 3X)
    • 小米 5C (Xiaomi 5C)

    更多机型请参阅 设备兼容性 章节。

  • 使用text()接口无法在密码框中输入密码

    部分厂商的某些型号手机限制了密码框的输入必须使用 系统键盘输入 ,所以当需要输入密码时,直接使用text()会无法输入内容,需要把以下选项打开后才能正常输入文字:

    ../_images/huawei_password.png
  • oppo部分机型需要输入密码才能安装APK

    暂无更靠谱的解决方案,有一个帖子可以供参考 [收集帖] 各厂手机不能自动化的坑和解决方案

5.2.4 刷出重复设备

刷新时发现两台同样的设备,状态各为device和offline。

一般因为开启了手机助手,关掉后再次刷新即可。

5.2.5 未运行模拟器时刷出了emulator-5554设备

原因:模拟器打开5554端口后,adb只要检测到这个端口打开,会认为存在设备。

参考处理连接

以Windows7系统为例:

  1. 进入AirtestIDE/airtest/core/android/static/adb/windows文件夹

Shift+右键,进入命令窗口,输入 “adb.exe devices”

如果出现 emulator-5554的设备,执行步骤②

  1. 执行操作:
  1. 执行热键 Windows + R
  2. 输入 “services.msc”
  3. 停止 BlueStacks Android Service

5.2.6 如何通过无线adb进行连接

注意:无线网络较难保证adb连接稳定性,建议选用USB线进行手机连接。

5.2.8 手机升级到Android 8.0后出现连接问题

5.2.9 频繁出现adb.exe已停止工作弹窗

../_images/adb_crash.png

一般是手机助手强占adb导致,请关闭手机助手,确保adb.exe进程、手机助手相关进程不在后台,再进行重试。

5.2.10 手机能够连接,但是设备画面是空的

可以尝试将AirtestIDE更换到英文路径下再重新尝试,中文路径下部分PC机上可能不能正确显示出手机画面。

5.2.11 手机能够连接,但是设备画面旋向不对

../_images/phone_ori_wrong.png

请先勾选 `use ADB orientation`选项后,再点击`connect`连接设备.

../_images/phone_use_adb_ori_init.png

5.2.12 智能设备的支持问题

有部分电视盒子等智能设备,在接上AirtestIDE后可能会出现横竖屏显示错误的问题,由于我们当前版本只支持手机设备,因此智能设备的支持需要等待后续版本的开发才能完善。

可考虑使用模拟器启动的方式进行连接,可能可以正常使用。