批量控制
CPH服务提供云手机批量控制功能,该功能可以通过ADB命令API将存放在OBS桶中的APK安装文件等,批量推送或安装到云手机中,便捷用户操作,提升管理效率。本章节通过批量安装APK的示例来介绍批量控制功能。
安装和更新APK有以下两种方式:
- 通过API执行install命令进行操作,详情请参考安装apk。
- 用户先将OBS桶中的安装包,委托CPH操作OBS桶或授予读取权限给云手机内置账号,通过文件推送的方式进行APK安装和热更新,详情请参考推送文件。
约束与限制
CPH服务对批量控制风险与安全进行如下约束:
- 目前支持的控制命令:
install:将软件包安装到云手机系统。
uninstall:从云手机系统中移除软件包。
push:将文件或者文件夹从本地设备复制到云手机设备上。
- 控制命令数据和指令不当,会造成云手机故障并无法恢复。
- 如果需要执行install、push命令,则需要严格按照操作步骤进行设置,并独立构建批量控制APK数据桶与其他数据隔离。
- 如果需要执行install、push命令,文件必须为tar格式,压缩的文件路径按照AOSP(Android Open Source Project)的目录结构放置。
- 同一台云手机服务器,文件推送任务耗时与文件推送任务个数成正比。
操作步骤
以下步骤主要演示如何创建用来存放文件的桶,以及如何为桶设置相关权限。安装和更新APK的操作仅能通过调用API实现。
- 登录管理控制台。
- 在服务列表页,选择“存储 > 对象存储服务OBS”。
- 在页面右上角单击“创建桶”,用于存放文件,如图1所示。
- 区域:请选择云手机服务器所在区域。桶创建完成后,不支持修改该桶所在的区域。
- 默认存储类别:请选择“标准存储”。
- 桶策略:请选择“私有”。
其他参数请参考“创建桶”进行设置。
- 单击“立即创建”。
- 单击创建的桶名称,选择左侧导航栏的“对象”,单击“新建文件夹”。
图2 对象页面
- 创建以“file_{project_id}_01”命名的文件夹,在“file_{project_id}_01”目录下存放文件,如图3所示。
其中,{project_id}为云手机服务器所在区域的项目ID,获取方式请参见如何获取项目ID?。
- 如果云手机数量较多,可以建立多个文件夹分开做源,提升性能,如file_{project_id}_01、file_{project_id}_02。
- 建议文件夹以时间戳或者功能命名,方便包的管理,例如file_{project_id}_01/20190506122012/xxxx.tar。
- 如果拥有数十万台云手机,建议用户基于OBS服务研发APP应用市场,实现APK安装与升级。
- 单击左侧导航栏的“访问权限控制 > 桶策略”,然后单击“创建”设置桶的策略。
图4 设置高级桶策略
- 建议参考“委托CPH操作OBS桶”章节授权CPH服务操作OBS桶,本步骤为历史方案,不建议使用。
在弹出的窗口填写对应的信息为云手机内置账号授予OBS桶内指定目录的读写权限,信息填写完成后单击“创建”,其中
- 策略名称用户可自定义,效力选择“允许”。
- 被授权用户选择“其他账号”,输入云手机的内置账号。
- 授权资源选择“当前桶”和“指定对象”,输入资源名称“file_{project_id}_*”,例如“file_0503ddaa18000ff21ff0c009e65d5482_*”。
- 授权操作选择“模版配置”,勾选“目录读写”。
图5 创建桶策略
云手机内置账号必填,必须为如下信息,不能填写自己账号的ID:
账号ID:529375c06c6340f299819082b3051225
IAM用户ID:10208a4cf0944e339f523d9943ba02d3
- 单击“对象”,在“file_{project_id}_01”文件夹下面放置需要安装的tar包,调用ADB命令相关接口测试一台云手机,验证是否授权成功。