使用腾讯云函数和云存储开发android app更新功能创建遇到的坑和解决方案

问题清单

1. EAS Build 配置错误

问题

eas.json is not valid. - "update" is not allowed

原因eas.json 中使用了不支持的 updatechannel 字段

解决方案

  • 删除 eas.json 中的 update
  • 删除 build.preview.androidbuild.production.android 中的 channel 字段

2. EAS Build 下载命令参数错误

问题

Unexpected arguments: --latest, --output, ./app-release.apk

原因eas build:download 命令不支持这些参数

解决方案

  • eas build 输出中提取下载 URL
  • 使用 curlwget 直接下载 APK
DOWNLOAD_URL=$(echo "$BUILD_OUTPUT" | grep -oE 'https://expo.dev/artifacts/eas/[a-zA-Z0-9]+\.apk' | head -1)
curl -L -o ./app-release.apk "$DOWNLOAD_URL"

3. 上传时请求体大小超限

问题

EXCEED_MAX_PAYLOAD_SIZE
请求体大小超过限制。云函数请求体最大限制:文本类型请求体 100KB,其他类型请求体 6MB

原因

  • APK 文件 111MB,Base64 编码后约 148MB
  • 即使分片上传,单个分片 Base64 编码后也超过限制

解决方案

  • 将分片大小从 5MB → 4MB → 3MB → 2MB(最终方案)
  • 缩短 JSON 字段名(uploadIduchunkIndexi 等)
  • 使用
posted @ 2025-12-12 14:14  gccbuaa  阅读(0)  评论(0)    收藏  举报