
# 批量控制
CPH服务提供云手机批量控制功能，该功能可以通过[ADB命令API](https://support.huaweicloud.com/api-cph/cph_api_0528.html)将存放在OBS桶中的APK安装文件等，批量推送或安装到云手机中，便捷用户操作，提升管理效率。本章节通过批量安装APK的示例来介绍批量控制功能。
安装和更新APK有以下两种方式：
- 通过API执行install命令进行操作，详情请参考[安装apk](https://support.huaweicloud.com/api-cph/cph_api_0530.html)。
- 用户先完成CPH服务操作OBS桶的委托授权，详情请参见[委托CPH操作OBS桶](https://support.huaweicloud.com/bestpractice-cph/cph_bp_0050.html)章节。再通过文件推送的方式进行APK安装和热更新，详情请参见[推送文件](https://support.huaweicloud.com/api-cph/cph_api_0529.html)。
  ![](https://support.huaweicloud.com/usermanual-cph/public_sys-resources/note_3.0-zh-cn.png)
  委托授权当前只支持同账号的CPH访问OBS。
  
#### 约束与限制
CPH服务对批量控制风险与安全进行如下约束：
- 目前支持的控制命令： shell：在云手机设备中启动远程交互式shell。
  install：将软件包安装到云手机系统。
  uninstall：从云手机系统中移除软件包。
  push：将文件或者文件夹从本地设备复制到云手机设备上。
  
- 控制命令数据和指令不当，会造成云手机故障并无法恢复。
- 如果需要执行install、push命令，则需要严格按照[操作步骤]进行设置，并独立构建批量控制APK数据桶与其他数据隔离。
- 如果需要执行install、push命令，文件必须为tar格式，压缩的文件路径按照AOSP（Android Open Source Project）的目录结构放置。
- 同一台云手机服务器，文件推送任务耗时与文件推送任务个数成正比。
 
 #### 操作步骤
以下步骤主要演示如何创建用来存放文件的桶。安装和更新APK的操作仅能通过调用API实现。
1. 登录[OBS控制台](https://console.huaweicloud.com/obs/?#/obs/manager/buckets)。
2. 在页面右上角单击"创建桶"，用于存放文件，如[图1]所示。
   图1创建批量控制使用的桶   
   ![](https://support.huaweicloud.com/usermanual-cph/zh-cn_image_0000001899475654.png "点击放大")
   - 区域：请选择云手机服务器所在区域。桶创建完成后，不支持修改该桶所在的区域。
   
   - 默认存储类别：请选择"标准存储"。
   
   - 桶策略：请选择"私有"。
   
   
   其他参数请参考"[创建桶](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829088.html)"进行设置。
   

3. 单击"立即创建"。 等待桶创建成功。
   
4. 单击创建的桶名称，选择左侧导航栏的"对象"，单击"新建文件夹"。
   图2对象页面   
   ![](https://support.huaweicloud.com/usermanual-cph/zh-cn_image_0000001938719725.png "点击放大") 
5. 创建以"file_{project_id}_01"命名的文件夹，在"file_{project_id}_01"目录下存放文件，如[图3]所示。
   其中，{project_id}为云手机服务器所在区域的项目ID，获取方式请参见[如何获取项目ID？](https://support.huaweicloud.com/cph_faq/cph_faq_0004.html)。
   图3创建文件夹file_{project_id}_01   
   ![](https://support.huaweicloud.com/usermanual-cph/zh-cn_image_0000001938729741.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-cph/public_sys-resources/note_3.0-zh-cn.png)
   - 如果云手机数量较多，可以建立多个文件夹分开做源，提升性能，如file_{project_id}_01、file_{project_id}_02。
   
   - 建议文件夹以时间戳或者功能命名，方便包的管理，例如file_{project_id}_01/20190506122012/xxxx.tar。
   
   - 如果拥有数十万台云手机，建议用户基于OBS服务研发APP应用市场，实现APK安装与升级。
     

6. 在"file_{project_id}_01"文件夹下面放置需要安装的tar包，调用ADB命令相关接口测试一台云手机，验证是否授权成功。 支持如下ADB命令接口：
   - [推送文件](https://support.huaweicloud.com/api-cph/cph_api_0529.html)
   
   - [安装apk](https://support.huaweicloud.com/api-cph/cph_api_0530.html)
   
   - [卸载apk](https://support.huaweicloud.com/api-cph/cph_api_0531.html)
   
   - [执行异步adb shell命令](https://support.huaweicloud.com/api-cph/cph_api_0532.html)
    
 
