错误码

Droidline 命令可能返回的全部错误,以及对应的 HTTP 状态和是否值得重试。

本页为译文。如与英文版不一致,以英文版为准。 English

失败的命令会返回 ok: false,以及 error(下列错误码之一)、msg(用服务器语言生成的下列消息)、retryable 和消息中用到的字段。SDK 为每个错误码提供一个异常类。

NOT_FOUND

目标未在时限内出现。screen 中返回当前包名/Activity

HTTP
422
重试
是

消息 在 {timeout} 秒内未找到 {target}。当前界面:{screen}

AMBIGUOUS

多个元素匹配,仅在 strict 模式下出现,返回候选列表

HTTP
422
重试
否

消息 有 {count} 个元素匹配 {target}。请传入 nth 或使用更精确的条件

NOT_CLICKABLE

节点操作和坐标点击都失败

HTTP
422
重试
是

消息 找到了 {target},但节点点击和坐标点击都失败了

TIMEOUT

操作本身超时,可重试

HTTP
504
重试
是

消息 {cmd} 未在 {timeout} 秒内完成

NO_ACCESSIBILITY

无障碍服务已关闭

HTTP
409
重试
否

消息 Droidline 无障碍服务未开启。请在手机上打开 设置 > 无障碍 > Droidline

NO_IME

未选择 Droidline 键盘,无法发送键码、文字或读取剪贴板

HTTP
409
重试
否

消息 当前输入法不是 Droidline 键盘。发送键码、文字或读取剪贴板前,请在手机上切换输入法

NO_PERMISSION

缺少 VPN 或通知等权限,返回所需权限名称

HTTP
409
重试
否

消息 手机上未授予 {permission} 权限

APP_NOT_FOUND

未安装该包,给出相似包名

HTTP
422
重试
否

消息 未安装 {package}。相似的包:{similar}

ACTIVITY_BLOCKED

尝试启动未导出的 Activity,建议改为默认启动

HTTP
422
重试
否

消息 {activity} 未导出,其他应用无法打开。请不带 Activity 调用 launch("{package}")

MACRO_FAILED

设置宏找不到按钮(kill、clear_data、data 等),返回卡住的步骤和界面

HTTP
422
重试
是

消息 设置宏 {cmd} 停在步骤“{step}”,界面:{screen}

PROXY_FAILED

上游连接或认证失败。reason 为 auth、timeout、refused 或 protocol

HTTP
502
重试
是

消息 上游代理失败:{reason}

UNKNOWN_CMD

不支持的命令,返回代理版本

HTTP
404
重试
否

消息 未知命令 {cmd}。代理版本 {agent}

UNSUPPORTED

此 Android 版本无法在没有 ADB 或 root 的情况下完成

HTTP
422
重试
否

消息 {cmd} 需要 Android {min_release} 或更高版本。此手机为 Android {release}

BAD_ARGS

参数缺失或无效

HTTP
400
重试
否

消息 {cmd} 参数无效:{reason}

DEVICE_NOT_FOUND

没有该 ID 或名称的已配对设备

HTTP
404
重试
否

消息 没有名为 {device} 的已配对设备

DEVICE_OFFLINE

设备已配对但离线。命令会先等待重连再失败

HTTP
503
重试
是

消息 {device} 未在 {timeout} 秒内重新连接

DEVICE_AMBIGUOUS

未指定 device 且有多台设备在线

HTTP
400
重试
否

消息 有 {count} 台设备在线。请用 device 指定:{devices}

AGENT_RESTARTED

命令执行中手机应用重启。为避免重复执行,不会自动重试

HTTP
503
重试
是

消息 {cmd} 执行期间 {device} 上的代理重启了,无法确认是否已执行

UNAUTHORIZED

客户端 API 令牌缺失或错误

HTTP
401
重试
否

消息 此连接需要客户端令牌

PAIRING_FAILED

配对码与等待中的手机不匹配

HTTP
422
重试
否

消息 没有使用代码 {code} 等待配对的手机

INTERNAL

程序错误,请附上服务器日志反馈

HTTP
500
重试
否

消息 内部错误:{reason}