Help Center> Cloud Phone Host> API Reference> Cloud Phone APIs> ADB Commands> Running the Asynchronous ADB shell Commands

Running the Asynchronous ADB shell Commands

Function Description

  • API Name

    RunShellCommand

  • Function

    Run the shell command on a cloud phone. This API is an asynchronous API. You can call APIs in Querying the Task Execution Status and Querying the Task Execution Status List to query the task execution result.

  • Notes

    You have granted the read-only permission on the OBS bucket to the Cloud Phone service system account. For details, see Managing Cloud Phones in Batches in the Cloud Phone User Guide.

    The management plane performance is limited. Executing ADB commands in batches on the same server blocks the execution of other tasks on the cloud phone.

URI

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

For details, see Table 1.
Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.

For details about how to obtain the project ID, see Obtaining a Project ID.

Request

  • Parameter description

    Parameter

    Mandatory

    Type

    Description

    command

    Yes

    String

    Specifies the ADB command. The value is fixed at shell.

    content

    Yes

    String

    Specifies the command to be executed.

    The value can contain a maximum of 1024 bytes, including only uppercase letters, lowercase letters, digits, underscores (_), periods (.), slashes (/), colons (:), and hyphens (-).

    server_ids

    No

    This parameter is mandatory when parameter phone_ids does not exist.

    Array of strings

    Specifies the ID list of the Cloud Phone servers.

    Obtain it from Querying the Cloud Phone Servers.

    phone_ids

    No

    This parameter is mandatory when parameter server_ids does not exist.

    Array of strings

    Specifies the cloud phone ID list.

    Obtain it from Querying the Cloud Phones.

  • Example request
    POST https://{CPH Endpoint}/v1/{project_id}/cloud-phone/phones/commands
    {
        "command": "shell",
        "content": "ls -l /system",
        "phone_ids": [
            "1234567b8bab40ffb711234cb80d0234",
            "1678567b8bab40f93711234cb80d0764"
        ]
    }

Response

  • Response parameters

    Parameter

    Type

    Description

    request_id

    String

    Specifies the request ID, which is unique.

    jobs

    Array of objects

    Specifies the task information. For details, see Table 2.

    Table 2 job field description

    Parameter

    Type

    Description

    phone_id

    String

    Specifies the unique ID of a cloud phone. This parameter is contained in tasks related to cloud phones.

    job_id

    String

    Specifies the unique ID of a task.

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

Returned Values

See Returned Values.

Error Codes

See Error Codes.