如何在AzureDevOps流水线安装macos-13代理默认未预装的Android版本?
在Azure DevOps macos-13代理中安装指定Android API级别用于.NET 6 Android构建
可以直接通过流水线脚本在macos-13代理上安装所需的Android API级别,具体实现步骤如下:
确认Android SDK路径
macos-13代理预装了Android SDK基础环境,默认路径为/Users/runner/Library/Android/sdk,可通过echo $ANDROID_HOME命令验证环境变量是否正确配置。使用sdkmanager安装指定组件
利用Android SDK自带的sdkmanager命令行工具,安装目标API级别对应的平台包和构建工具。例如要安装Android 33(API level 33)及配套构建工具,执行以下命令:$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platforms;android-33" "build-tools;33.0.2"替换命令中的
android-33和33.0.2为你实际需要的API级别和对应构建工具版本即可。验证安装结果
安装完成后,可通过以下命令列出已安装的组件,确认目标API级别是否成功安装:$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --list_installed流水线任务配置示例
在Azure DevOps流水线中添加一个Bash任务(放置在.NET Android构建任务之前),脚本内容如下:- task: Bash@3 displayName: 'Install Target Android API Level' inputs: targetType: 'inline' script: | # 安装指定Android API平台和构建工具 $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platforms;android-33" "build-tools;33.0.2" # 验证安装状态 $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --list_installed
注意事项
- 确保构建工具版本与目标API级别兼容,可参考Android官方文档对应版本的适配关系
- 若需要系统镜像、NDK等额外组件,可直接将组件名称添加到
sdkmanager的参数列表中,例如"system-images;android-33;google_apis;x86_64" - macos-13代理的runner用户拥有SDK目录的写入权限,无需添加
sudo执行命令
内容的提问来源于stack exchange,提问作者MobileDev
相关产品推荐
相关产品推荐

