Azure DevOps Pipeline报错:.NET 8 MAUI项目找不到Android SDK
解决.NET 8 MAUI Azure DevOps Pipeline中Android SDK未找到的问题
针对Error XA5300: The Android SDK directory could not be found. Install the Android SDK错误,可通过以下几种方式排查解决:
1. 添加Android SDK安装任务
微软托管代理默认可能未预装匹配版本的Android SDK组件,需手动安装对应版本(.NET 8 MAUI通常需要Android 33或更高版本的SDK):
- task: AndroidSDKInstaller@3 displayName: '安装Android SDK组件' inputs: androidSdkDirectory: $(ANDROID_SDK_ROOT) sdkManagerPath: $(ANDROID_SDK_ROOT)/cmdline-tools/latest/bin/sdkmanager packages: 'platforms;android-33 build-tools;33.0.2'
将此步骤添加在dotnet build任务之前,确保SDK组件安装完成。
2. 配置Android SDK环境变量
确认代理中ANDROID_SDK_ROOT环境变量指向正确路径,若未设置,可在构建前手动指定:
- task: CmdLine@2 displayName: '设置Android SDK路径' inputs: script: | echo "##vso[task.setvariable variable=ANDROID_SDK_ROOT]$(Agent.HomeDirectory)/Android/Sdk"
微软托管代理的默认Android SDK路径为$(Agent.HomeDirectory)/Android/Sdk,自托管代理需替换为实际安装路径。
3. 使用正确的托管代理池
确保Pipeline使用预装了Android SDK的微软托管代理,比如windows-latest或ubuntu-latest,在Pipeline开头指定:
pool: vmImage: 'windows-latest'
4. 确保.NET Workload安装完整
替换现有workload install任务为workload restore,确保所有MAUI Android依赖都被正确恢复:
- task: CmdLine@2 displayName: '恢复.NET Workloads' inputs: script: | dotnet workload restore
5. 对比可用Pipeline的差异
将当前Pipeline与能正常生成AAB的Pipeline逐行比对,重点检查:
- 是否缺少Android SDK安装或配置步骤
- 代理池选择是否一致
- 环境变量设置是否有差异
- 构建参数是否匹配
内容的提问来源于stack exchange,提问作者Mafyou
相关产品推荐
相关产品推荐

