更新时间:2024-07-31 GMT+08:00

批量控制

CPH服务提供云手机批量控制功能,该功能可以通过ADB命令API将存放在OBS桶中的APK安装文件等,批量推送或安装到云手机中,便捷用户操作,提升管理效率。本章节通过批量安装APK的示例来介绍批量控制功能。

安装和更新APK有以下两种方式:

  • 通过API执行install命令进行操作,详情请参考安装apk
  • 用户先将OBS桶中的安装包,委托CPH操作OBS桶或授予读取权限给云手机内置账号,通过文件推送的方式进行APK安装和热更新,详情请参考推送文件

约束与限制

CPH服务对批量控制风险与安全进行如下约束:

  • 目前支持的控制命令:

    shell:在云手机设备中启动远程交互式shell。

    install:将软件包安装到云手机系统。

    uninstall:从云手机系统中移除软件包。

    push:将文件或者文件夹从本地设备复制到云手机设备上。

  • 控制命令数据和指令不当,会造成云手机故障并无法恢复。
  • 如果需要执行install、push命令,则需要严格按照操作步骤进行设置,并独立构建批量控制APK数据桶与其他数据隔离。
  • 如果需要执行install、push命令,文件必须为tar格式,压缩的文件路径按照AOSP(Android Open Source Project)的目录结构放置。
  • 同一台云手机服务器,文件推送任务耗时与文件推送任务个数成正比。

操作步骤

以下步骤主要演示如何创建用来存放文件的桶,以及如何为桶设置相关权限。安装和更新APK的操作仅能通过调用API实现。

  1. 登录管理控制台。
  1. 在服务列表页,选择“存储 > 对象存储服务OBS”。

    进入对象存储服务页面。

  2. 在页面右上角单击“创建桶”,用于存放文件,如图1所示。
    图1 创建批量控制使用的桶
    • 区域:请选择云手机服务器所在区域。桶创建完成后,不支持修改该桶所在的区域。
    • 默认存储类别:请选择“标准存储”。
    • 桶策略:请选择“私有”。

    其他参数请参考“创建桶”进行设置。

  1. 单击“立即创建”。

    等待桶创建成功。

  2. 单击创建的桶名称,选择左侧导航栏的“对象”,单击“新建文件夹”。
    图2 对象页面
  3. 创建以“file_{project_id}_01”命名的文件夹,在“file_{project_id}_01”目录下存放文件,如图3所示。
    其中,{project_id}为云手机服务器所在区域的项目ID,获取方式请参见如何获取项目ID?
    图3 创建文件夹file_{project_id}_01
    • 如果云手机数量较多,可以建立多个文件夹分开做源,提升性能,如file_{project_id}_01、file_{project_id}_02。
    • 建议文件夹以时间戳或者功能命名,方便包的管理,例如file_{project_id}_01/20190506122012/xxxx.tar。
    • 如果拥有数十万台云手机,建议用户基于OBS服务研发APP应用市场,实现APK安装与升级。
  1. 单击左侧导航栏的“访问权限控制 > 桶策略”,然后单击“创建”设置桶的策略。
    图4 设置高级桶策略
  2. 为云手机内置账号授予OBS桶内指定目录的读写权限,选择目录读写,单击“使用模板创建”创建桶的策略。
    图5 选择模板
  3. 在弹出的界面填写配置策略,然后单击“配置确认”。
    • 授权用户选择“其他账号”。
    • 输入云手机内置账号。

      云手机内置账号必填,必须为如下信息,不能填写自己账号的ID:

      账号ID:529375c06c6340f299819082b3051225

      IAM用户ID:10208a4cf0944e339f523d9943ba02d3

    • 用户策略选择“包含以上用户”。
      图6 配置策略
  4. 选择桶内中的“指定对象”,输入资源名称“file_{project_id}_*”,例如“file_0503ddaa18000ff21ff0c009e65d5482_*”。资源策略选择“包含以上资源”,然后单击“配置确认”。
    图7 指定对象
  5. 确认配置信息,为云手机内置账号赋予指定对象的操作权限,单击“创建”设置。
    图8 确认策略
  1. 单击“对象”,在“file_{project_id}_01”文件夹下面放置需要安装的tar包,调用ADB命令相关接口测试一台云手机,验证是否授权成功。

    支持如下ADB命令接口: