Azure DevOps流水线中AVD运行Android UI测试遇虚拟化问题求助
在Azure DevOps流水线配置AVD遇到虚拟化支持问题
问题背景
- 依据两份指南配置Azure DevOps流水线中的Android虚拟设备(AVD):微软官方文档、第三方技术指南
- 文档显示AVD可在微软默认托管构建代理中运行,但实际操作中因缺少虚拟化支持无法实现
报错信息
ERROR | x86 emulation currently requires hardware acceleration!
CPU acceleration status: KVM requires a CPU that supports vmx or svm
已尝试操作
- 测试Ubuntu和macOS默认托管代理,均未解决问题(与数年前的文档内容矛盾)
- 使用Azure的
D4ads v5虚拟机搭建自定义构建代理时,AVD可正常运行
疑问
- 是否存在遗漏的虚拟化启用/模拟方法?
- 微软是否已更改构建代理硬件配置,导致默认代理无法运行AVD?
(注:因流程简化及组织需求,优先希望使用默认托管代理)
临时检测脚本
编写了以下Bash脚本,用于在硬件不兼容时终止流水线:
set -e MESSAGE="Virtualization is not enabled. Ensure you run this pipeline on a VM that supports nested virtualization." if [[ "$OSTYPE" == "darwin"* ]]; then if ! sysctl -a | grep -q 'machdep.cpu.features' | grep -q 'VMX'; then echo $MESSAGE exit 1 fi else if [ $(egrep -c '(vmx|svm)' /proc/cpuinfo) -eq 0 ]; then echo $MESSAGE exit 1 fi fi echo "It looks like HW virtualization is enabled"
内容的提问来源于stack exchange,提问作者Lukas K
相关产品推荐
相关产品推荐

