Appium测试无法识别Android设备:adbExec报错‘设备未找到’
解决Appium无法识别Android设备的方案
1. 校验ADB路径一致性
报错显示Appium调用的ADB路径为/Users/<user>/Library/Android/sdk/platform-tools/adb,需确认:
- 执行
which adb查看终端当前使用的ADB路径,确保与Appium调用的路径完全一致 - 若路径不同,将Android SDK的
platform-tools目录添加到系统PATH环境变量,保证全局调用的ADB版本统一
2. 验证UDID与设备连通性
- 手动执行报错中的命令:
adb -s RF8RA0778HR shell getprop ro.build.version.sdk,检查是否能正常返回设备API级别 - 若手动执行也失败,重启ADB服务:
adb kill-server && adb start-server,同时重新插拔USB线,在设备上确认USB调试授权
3. 检查Appium驱动兼容性
- 执行
appium driver list确认uiautomator2驱动已正确安装 - 更新驱动至最新版本:
appium driver update uiautomator2 - 完全关闭并重启Appium服务,清除旧缓存
4. 优化Capabilities配置
- 确保
udid值与adb devices输出的设备ID完全匹配(注意大小写、无多余空格) - 添加
deviceName字段,值通过adb -s RF8RA0778HR shell getprop ro.product.model获取设备型号,部分设备需该字段辅助识别 - 临时移除
appPackage和appActivity,仅保留platformName、automationName、udid,测试基础设备连接是否正常,排除应用启动干扰
5. 环境变量与权限检查
- 确认当前用户对Android SDK目录(尤其是
platform-tools)拥有读写权限 - 检查
ANDROID_HOME或ANDROID_SDK_ROOT环境变量是否正确设置,Appium依赖该变量定位SDK路径 - 执行
echo $ANDROID_HOME和echo $PATH验证环境变量是否生效
6. 排查物理连接问题
- 更换USB线,避免使用仅支持充电的劣质线材
- 将设备USB连接模式切换为“文件传输”或“PTP”,禁用仅充电模式
- 在设备开发者选项中,关闭后重新开启“USB调试”和“允许模拟位置”(部分设备需此设置)
内容的提问来源于stack exchange,提问作者Dennis Nguyen
相关产品推荐
相关产品推荐

