You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CodeBuild构建中Android SDK未识别问题排查求助

解决AWS CodeBuild中Android SDK sdkmanager无法识别SDK根目录的问题

问题根源

错误提示明确要求:sdkmanager必须放置在<SDK根目录>/cmdline-tools/latest/路径下,否则无法自动识别SDK根目录。你的构建脚本中,解压Android命令行工具后,文件直接存放在$ANDROID_HOME/cmdline-tools/下,缺少latest子目录,导致路径不符合官方要求。

修复步骤

修改buildspec.yml的pre_build阶段命令,调整Android SDK的目录结构:

  1. 在解压命令后新增目录调整步骤,将命令行工具文件移动到latest子目录中
  2. 更新PATH环境变量和权限命令的路径,指向latest/bin

修改后的pre_build阶段关键代码:

pre_build:
  commands:
    - echo Installing flutter dependencies
    - export FLUTTER_SDK=$CODEBUILD_SRC_DIR/flutter-sdk
    - mkdir $FLUTTER_SDK
    - git clone https://github.com/flutter/flutter.git $FLUTTER_SDK -b stable
    - export PATH="$PATH:$FLUTTER_SDK/bin"
    - flutter precache 
    - echo "Installing Android SDK"
    - export android_sdk=$CODEBUILD_SRC_DIR/android-sdk
    - mkdir -p $android_sdk
    - wget https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip -O android-sdk.zip
    - unzip -q android-sdk.zip -d $android_sdk
    # 新增:调整目录结构,满足sdkmanager的路径要求
    - mkdir -p $android_sdk/cmdline-tools/latest
    - mv $android_sdk/cmdline-tools/* $android_sdk/cmdline-tools/latest/
    - export ANDROID_HOME=$CODEBUILD_SRC_DIR/android-sdk
    - export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
    - echo "Checking Android SDK permissions"
    - chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager
    - flutter config --android-sdk $ANDROID_HOME
    - sdkmanager --version
    - yes | sdkmanager --licenses

说明

新版Android命令行工具强制要求cmdline-tools下必须有latest子目录来存放核心工具,这样sdkmanager才能自动关联到SDK根目录。调整目录结构后,后续的sdkmanager --version和许可证接受命令就能正常执行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:00:15