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