请选择

步骤一:预处理 Android APK 母包

本文将介绍如何通过对象存储 COS 和云函数 SCF,实现对 Android APK 母包的预处理。

准备工作

1. 已开通 对象存储 COS云函数 SCF,记录该存储桶名称及地域信息。
2. 根据 站点接入 指引添加站点,购买 EdgeOne 套餐。
3. 已在 EdgeOne 控制台 添加加速域名www.example.com,且源站配置为腾讯云 COS。

步骤1:上传 Android APK 母包

在对象存储 COS 中,上传 Android APK 母包。
1. 登录 对象存储 COS 控制台,在左侧菜单栏中,单击存储桶列表。
2. 在存储桶列表页面,单击用于存储 APK 母包存储桶名称
3. 在文件列表,单击创建文件夹用于上传 APK 母包的目录,输入文件夹名称,例如:v2-vasdolly/,单击确定
注意:
请勿直接将根目录作为 APK 母包的上传目录。


步骤2:新建模板函数

在云函数 SCF 通过 EdgeOne APK 动态打包的模板新建函数。
1. 登录 云函数服务控制台,在左侧菜单栏中,单击函数服务。
2. 在函数服务页面,单击新建,选择使用模板创建,在模糊搜索中输入 EdgeOne APK 动态打包并选中,单击下一步

3. 在“函数配置”页面分别配置如下参数
基础配置
函数名称:创建函数时将自动生成一个函数名称,您可以选择自定义修改为一个易识别的函数名称。
地域:请选择 步骤1 中所使用的对象存储桶 COS 的所在地域,例如:广州。
描述:说明此函数的用途。
运行角色:默认勾选启用,配置并使用SCF模板运行角色。如使用已有角色,请确保已有角色已包含 QcloudCOSFullAccess 的预设策略。

函数代码:模板已内置默认函数代码实现 Android APK 处理母包的能力,无需改动。
环境配置:
单击高级配置,选择环境配置,您需要在环境变量中添加以下 key 和对应的 value 值,其余配置保持默认即可:
outputPath(必填):自定义云函数 SCF 处理 APK 母包后输出到 COS 存储桶的目录,如:/v2-vasdolly_output
packVersion(必填): 不同的 APK 版本所使用的签名版本信息,不同签名版本填写的值如下:
APK 签名版本
packVersion 值
v1
v1
v2
请填写 v2-VasDolly、v2-Walle 或 v2-Custom:
v2-VasDolly:将渠道信息保存在 ID 为 0x881155ff(VasDolly 默认)的 ID-Value 对。
v2-Walle:将渠道信息保存在 ID 为 0x71777777(Walle 默认)的 ID-Value 对。
v2-Custom:将渠道信息保存在 ID 为 blockId(由 blockId 环境变量指定)的 ID-Value 对。
blockId(选填): 如果使用 v2-Custom 方式进行预处理,需要指定 blockId。
填写示例:

(可选)文件系统:如果上传到 COS 的 APK 母包大于 200M,需前往 文件存储控制台 开通 CFS 服务,并启用文件系统,用于扩展云函数的本地存储空间:

注意:
由于 SCF 侧的限制,每个云函数在执行过程中,拥有一块 500MB 的临时磁盘空间,处理 APK 文件时,磁盘中同时存在原始 APK 文件和处理后的 APK 文件,因此处理过大的 APK 文件,需要挂在额外的文件存储系统,详情请参见 挂载 CFS 文件系统
触发器管理
在触发器配置中,选择 COS Bucket 为与此云函数 SCF 同地域的存储桶,可输入存储桶名称进行模糊查询,例如:apk-test-1251557890.cos.ap-guangzhou.myqcloud.com。其余配置项保持为默认配置即可。
触发方式:选择 COS 触发。
COS Bucket:请选择该可用区下母包所在的 COS 存储桶。
事件类型:选择全部创建。
前缀过滤:请输入母包上传的目录,如您的母包在v2-vasdolly目录下,即填写 v2-vasdolly/
后缀过滤:请输入 .apk
上述信息填写完成后,即只针对指定指定 COS 存储桶的 v2-vasdolly/目录下且文件后缀为 .apk 的文件上传时才会触发云函数 SCF 执行。

4. 单击完成,即可完成 EdgeOne APK 动态打包函数的创建。