You need to enable JavaScript to run this app. AWS CodeBuild构建Android成功但artifact上传S3失败求助
优惠活动
大模型
产品
解决方案
定价
更多

AWS CodeBuild构建Android成功但artifact上传S3失败求助

排障步骤与解决方案

核心报错本质

本次报错的核心触发点是UPLOAD_ARTIFACTS阶段找不到匹配的目标文件路径,排查优先级上先解决路径匹配问题,再处理S3权限问题即可。

第一步:解决「无匹配artifact路径」的报错

  • 目前你buildspec中配置的APK输出路径为app/build/outputs/apk/app-debug.apk,新版Android Gradle Plugin生成debug APK的默认路径已经变更,实际输出会多一层debug目录,正确路径应为app/build/outputs/apk/debug/app-debug.apk,路径少写层级就会直接触发找不到文件的错误。
  • 不要靠猜测确认路径,可直接在buildspec的build阶段加一行调试命令,把容器内实际生成的APK路径打印到构建日志里,100%确认路径准确性:
    version: 0.2
    phases:
      build:
        commands:
          - ./gradlew assembleDebug
          # 打印容器内所有APK的真实路径,参考日志输出填写最终路径
          - find . -name "*.apk" -type f
    artifacts:
      files:
        # 替换为上一步find命令输出的真实APK相对路径
        - <find命令输出的apk实际路径>
    
  • 日志中CodeBuild展开路径仅到app/build/outputs/就中断报错,完全匹配路径不匹配、目标文件不存在的特征,和S3权限无直接关联。

第二步:修正S3桶权限配置,避免路径修正后上传失败

你当前的桶策略存在两处核心权限问题,就算路径修正后也会出现上传报错:

  • 权限授权范围不全:当前策略只给S3桶本身(arn:aws:s3:::chiragh-andriod)授权,没有给桶内的对象资源授权。AWS S3需要单独对桶、桶内对象分别授权,当前配置不允许执行文件写入操作。
  • 授权主体错误:当前策略仅给IAM用户salahuddin授权,但CodeBuild执行上传操作时,用的是项目绑定的CodeBuild服务角色,不是这个IAM用户,相当于服务角色根本没有桶的操作权限。

正确的最小权限策略示例:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowCodeBuildUpload",
            "Effect": "Allow",
            // 替换为你的CodeBuild项目关联的服务角色ARN
            "Principal": {
                "AWS": "arn:aws:iam::816888571071:role/你的CodeBuild服务角色名称"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::chiragh-andriod",
                "arn:aws:s3:::chiragh-andriod/*"
            ]
        }
    ]
}

其他易踩的配置坑

  • 检查CodeBuild项目的Artifact配置项,若手动配置了错误的基础目录(比如把基础目录设为app/build/outputs而非项目根目录.),会导致路径拼接错位,找不到目标文件。
  • 若在artifacts配置中设置了base-directory参数,注意该参数是所有files路径的前置拼接目录,比如设置base-directory: app/build/outputs/apk/debug后,files中仅需要写app-debug.apk即可,不要重复拼接完整路径造成错位。

内容的提问来源于stack exchange,提问作者Muhammad Salahuddin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 03:57:03