本文将介绍如何通过对象存储 COS 和云函数 SCF,实现对 Android APK 母包的预处理。
准备工作
2. 根据 站点接入 指引添加站点,购买 EdgeOne 套餐。 3. 已在 EdgeOne 控制台 添加加速域名www.example.com
,且源站配置为腾讯云 COS。 步骤1:上传 Android APK 母包
在对象存储 COS 中,上传 Android APK 母包。
2. 在存储桶列表页面,单击用于存储 APK 母包的存储桶名称。
3. 在文件列表,单击创建文件夹用于上传 APK 母包的目录,输入文件夹名称,例如:v2-vasdolly/
,单击确定。
注意:
请勿直接将根目录作为 APK 母包的上传目录。
步骤2:新建模板函数
在云函数 SCF 通过 EdgeOne APK 动态打包的模板新建函数。
2. 在函数服务页面,单击新建,选择使用模板创建,在模糊搜索中输入 EdgeOne APK 动态打包并选中,单击下一步。
3. 在“函数配置”页面,分别配置如下参数:
基础配置
函数名称:创建函数时将自动生成一个函数名称,您可以选择自定义修改为一个易识别的函数名称。
地域:请选择 步骤1 中所使用的对象存储桶 COS 的所在地域,例如:广州。 描述:说明此函数的用途。
运行角色:默认勾选启用,配置并使用SCF模板运行角色。如使用已有角色,请确保已有角色已包含 QcloudCOSFullAccess
的预设策略。
函数代码:模板已内置默认函数代码实现 Android APK 处理母包的能力,无需改动。
环境配置:
单击高级配置,选择环境配置,您需要在环境变量中添加以下 key 和对应的 value 值,其余配置保持默认即可:
outputPath(必填):自定义云函数 SCF 处理 APK 母包后输出到 COS 存储桶的目录,如:/v2-vasdolly_output
。
packVersion(必填): 不同的 APK 版本所使用的签名版本信息,不同签名版本填写的值如下:
|
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 动态打包函数的创建。
本页内容是否解决了您的问题?