# Apps

Apps 相关 API。

 - [POST /api/cloudphone/app/install](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/installcloudphoneapplocal.md): 从团队应用库把应用安装到云手机。 - **前置条件**：云手机必须已开机且未被其他成员占用。应用必须已存在于团队应用库或公共应用市场——用 `appVersionId` 指定，或用 `packageName` 加 `versionCode`。该应用还必须已上传到这台云手机可访问的应用库，否则安装失败。 - **限流**：每台云手机每秒最多一次安装，更快的第二次调用会被拒绝。 - **完成信号**：
 - [POST /api/cloudphone/app/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/listcloudphoneappslocal.md): 列出可安装到云手机的应用。 - **副作用**：无。只读。可带退避安全重试。 不涉及具体云手机，因此不要求云手机处于运行状态。 - **返回内容**：公共应用市场——全局可用的应用，加上定向对你团队开放的应用。每条记录的版本在 `appVersionList` 中按新版在前排列；取 `appVersionList[].id` 作为 `/cloudphone/app/install` 的 `appV
 - [POST /api/cloudphone/team/app/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/listteamcloudphoneappslocal.md): 列出你团队自有的应用库，含预装应用。 - **副作用**：无。只读。可带退避安全重试。 - **返回内容**：与 `/cloudphone/app/page` 是不同的数据源——这些是你团队上传的应用，以扁平结构返回（一行一个应用版本），而不是按版本嵌套。每条记录带审核状态；当有更新在进行中时，状态字段描述的是**正在更新的那个版本**，不是当前生效的版本。 - **说明**：按无法识别的设备服务
 - [POST /api/cloudphone/app/installedList](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/listinstalledcloudphoneappslocal.md): 列出云手机当前已安装的应用。 - **前置条件**：云手机必须属于你的团队。与大多数云手机命令不同，这个接口**不要求**云手机被你占用；但它会实时查询设备服务，所以已关机的云手机通常在设备服务侧失败，而不是返回 MoreLogin 的错误。 - **副作用**：无。只读。可带退避安全重试。 - **用途**：`/cloudphone/app/install` 与 `/cloudphone/app
 - [POST /api/cloudphone/app/start](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/startcloudphoneapplocal.md): 启动云手机上已安装的应用。 - **前置条件**：云手机必须已开机且未被其他成员占用。 - **完成信号**：响应仅表示命令已到达设备服务，不代表应用已在前台。没有接口能报告应用是否在运行——请用截图或 shell 命令自行确认。 - **重试**：没有去重，重复调用会再次下发命令。 已记录的业务错误码：`33300`, `33301`。 各错误码的含义见 [Error Codes](../Ge
 - [POST /api/cloudphone/app/restart](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/restartcloudphoneapplocal.md): 重启云手机上的某个应用。 - **前置条件**：云手机必须已开机且未被其他成员占用。**不校验应用是否已安装**——包名不存在时该调用不产生任何效果。 - **完成信号**：响应仅表示命令已下发到设备服务，不代表应用已重启。请通过 `/cloudphone/app/installedList` 或观察设备确认。
 - [POST /api/cloudphone/app/stop](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/stopcloudphoneapplocal.md): 停止云手机上正在运行的应用。 - **前置条件**：云手机必须已开机且未被其他成员占用。不校验应用是否已安装或正在运行。 - **完成信号**：响应仅表示命令已下发到设备服务，不代表应用已停止。
 - [POST /api/cloudphone/app/uninstall](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/uninstallcloudphoneapplocal.md): 从云手机卸载应用。 - **前置条件**：云手机必须已开机且未被其他成员占用。 - **副作用**：下发卸载并更新该云手机的安装记录。 - **完成信号**：响应仅表示请求已受理。请通过 `/cloudphone/app/installedList` 核实。 已记录的业务错误码：`33300`, `33301`。 各错误码的含义见 [Error Codes](../Getting%20Start
 - [POST /api/cloudphone/app/openRoot](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/appopenroot.md): 为云手机上指定的应用包授予 ROOT。 - **前置条件**：云手机必须已开机且未被其他成员占用。仅兼容机型支持；不兼容机型调用会成功但无实际效果。 - **副作用**：把包名白名单下发到设备，并顺带打开 ROOT 总开关。**MoreLogin 不做任何存储**，因此无法通过接口回读该授权。 - **完成信号**：设备服务同步受理。ROOT 何时在设备上生效由设备服务决定；MoreLogin 不
 - [POST /api/cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/setcloudphoneaccessibilityapphiddenlocal.md): 在一台或多台云手机上，把应用从 Android 无障碍服务列表中隐藏。 - **前置条件**：1 到 100 个云手机 ID，以及 1 到 100 个包名。云手机必须属于你的团队，但**不需要**已开机或被你占用。当所有 ID 都无法解析时，接口返回业务失败而不是抛错。 - **副作用**：名单下发到设备服务，**MoreLogin 不做存储**，因此无法回读。仅兼容机型 支持；不兼容机型调用成功
