更新时间:2024-10-10 GMT+08:00
分享

安装apk

功能介绍

在云手机中安装apk。系统会将指定的apk文件下载后直接安装到云手机中。 支持安装单apk应用和多apk应用。可使用install命令安装单apk应用,一次只支持安装一个apk,如果一次传多个apk只有第一个安装成功;可使用install-multiple命令安装多apk应用(多apk应用为单个应用拆分成多个apk),一次只支持同一个应用的多个apk。该接口为异步接口。接口调用前请先确保已完成CPH服务操作OBS桶的委托授权。委托CPH操作OBS桶请参见委托CPH操作OBS桶

  • 管理面性能有限,对相同服务器批量执行的ADB命令,将会阻塞云手机其他任务执行。

  • 允许安装的apk大小限制为2G(即不可将obs桶内大于2G的apk安装到手机中),超过限制将返回错误。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目id。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

表3 请求Body参数

参数

是否必选

参数类型

描述

command

String

安装单apk场景填写install,多apk场景填写install-multiple。

content

String

指定OBS桶中的apk文件(需要提前上传到指定桶中)。 只支持大小写字母、数字、下划线(_)、点(.)、斜线(/)、冒号(:)、中划线(-)。推送的文件只支持apk文件类型。

单apk场景,只能传一个apk,最大长度为1024字节;多apk场景,最多传50个apk,中间用空格分开,最大长度8100字节。

phone_ids

Array of strings

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

server_ids

Array of strings

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

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

request_id

String

请求的唯一标识ID。

jobs

Array of PhoneJob objects

任务列表。

表5 PhoneJob

参数

参数类型

描述

phone_id

String

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

job_id

String

任务的唯一标识。

error_code

String

错误码。

error_msg

String

错误说明。

请求示例

  • 在云手机中安装apk

    POST https://{CPH Endpoint}/v1/{project_id}/cloud-phone/phones/commands
    
    {
      "command" : "install",
      "content" : "-t -r obs://push-bucket/my_apps/test.apk",
      "phone_ids" : [ "1234567b8bab40ffb711234cb80d0234", "1678567b8bab40f93711234cb80d0764" ]
    }
  • 在云手机中安装多apk

    POST https://{CPH Endpoint}/v1/{project_id}/cloud-phone/phones/commands
    
    {
      "command" : "install-multiple",
      "content" : "-t -r obs://push-bucket/my_apps/test_part1.apk obs://push-bucket/my_apps/test_part_2.apk obs://push-bucket/my_apps/test_part3.apk",
      "phone_ids" : [ "1234567b8bab40ffb711234cb80d0234", "1678567b8bab40f93711234cb80d0764" ]
    }

响应示例

状态码: 200

OK

{
  "request_id" : "6837531fd3f54550927b930180a706bf",
  "jobs" : [ {
    "phone_id" : "1234567b8bab40ffb711234cb80d0234",
    "job_id" : "1564567b8bab40f34711234cb80d0123"
  }, {
    "phone_id" : "1678567b8bab40f93711234cb80d0764",
    "job_id" : "1564567b8bab40f34711234cb80d5678"
  } ]
}

状态码

状态码

描述

200

OK

错误码

请参见错误码

相关文档