更新时间:2024-08-09 GMT+08:00

同步执行adb命令

功能介绍

在云手机中同步执行命令并返回命令执行的输出信息,该接口仅支持adb shell命令的执行。1分钟内每个用户调用接口次数上限为6次,每个云手机允许执行命令超时时间为2秒,接口时间不超过30秒,执行云手机数越多,接口耗时相应越长。

URI

POST /v1/{project_id}/cloud-phone/phones/sync-commands

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目id。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

command

String

ADB命令,固定填写shell。

content

String

待执行的命令。

最大长度为1024字节,只支持大小写字母、数字、下划线(_)、点(.)、斜线(/)、冒号(:)、中划线(-)。

phone_ids

Array of strings

云手机ID列表。 server_ids参数不存在时必选,同时存在只处理phone_ids。最多支持传入15个phone_id。

server_ids

Array of strings

云手机服务器ID列表。 phone_ids参数不存在时必选,同时存在只处理phone_ids。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

jobs

Array of RunSyncCommandJob objects

任务列表。

表5 RunSyncCommandJob

参数

参数类型

描述

phone_id

String

云手机的唯一标识,云手机相关任务包含此字段。

job_id

String

任务的唯一标识。

status

Integer

任务状态

  • 2:成功

  • 1:运行中

  • -1:失败

error_code

String

任务错误码。

error_msg

String

任务错误码说明。

execute_msg

String

任务执行返回内容,最长1024字节。

请求示例

向手机列表中的手机同步执行shell命令,命令为ls -l /system

POST https://{CPH Endpoint}/v1/{project_id}/cloud-phone/phones/sync-commands

{
  "command" : "shell",
  "content" : "ls -l /system",
  "phone_ids" : [ "1234567b8bab40ffb711234cb80d0234", "1678567b8bab40f93711234cb80d0764" ]
}

响应示例

状态码: 200

OK

{
  "request_id" : "6837531fd3f54550927b930180a706bf",
  "jobs" : [ {
    "phone_id" : "1234567b8bab40ffb711234cb80d0234",
    "job_id" : "3fc17538866a4ff3a014d8bc6aaa4b69",
    "status" : -1,
    "error_code" : "CPS.0191",
    "error_msg" : "Run command failed.",
    "execute_msg" : "ls: cannot access '/system': No such file or directory"
  }, {
    "phone_id" : "1678567b8bab40f93711234cb80d0764",
    "job_id" : "1564567b8bab40f34711234cb80d5678",
    "status" : 2,
    "error_code" : "",
    "error_msg" : "",
    "execute_msg" : "xxxxx"
  } ]
}

状态码

状态码

描述

200

OK

错误码

请参见错误码