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

如何在GitHub Enterprise私有仓库Actions中启用KVM运行Android模拟器?

在GitHub Enterprise私有仓库启用KVM以运行Android模拟器

问题核心

GitHub托管的Runner中,KVM硬件虚拟化支持默认仅对公共仓库开放;私有/内部仓库(含GitHub Enterprise)的托管Runner默认不提供该权限,且自托管Runner需手动配置硬件虚拟化环境,这是你遇到Failed to open the device 'kvm': No such file or directory错误的主要原因。

解决方案

1. 区分Runner类型处理

针对GitHub Enterprise托管Runner

联系企业GitHub管理员,确认订阅计划是否包含私有仓库的硬件虚拟化权限。部分高级企业计划支持为私有仓库开启KVM,需管理员通过GitHub Enterprise管理后台申请或配置权限。

针对自托管Runner

自托管Runner需在宿主机(物理机或虚拟机)上完成以下配置:

  • 开启硬件虚拟化开关:进入宿主机BIOS/UEFI,启用Intel VT-x(Intel CPU)或AMD-V(AMD CPU)选项;
  • 加载KVM内核模块:
    sudo modprobe kvm
    # Intel CPU执行此命令
    sudo modprobe kvm_intel
    # AMD CPU执行此命令
    # sudo modprobe kvm_amd
    
  • 验证KVM可用性:
    ls /dev/kvm
    
    输出/dev/kvm则说明KVM已正常启用。

2. 修正KVM权限配置(自托管Runner)

若宿主机已启用KVM但权限不足,可直接调整设备权限,无需复杂的udev规则:

- name: 配置KVM权限
  run: |
    sudo groupadd kvm || true
    sudo usermod -aG kvm $USER
    sudo chmod 0666 /dev/kvm

3. 预配置自托管Runner镜像

为避免每次Workflow重复配置,可构建包含Android SDK、KVM环境的自定义Ubuntu镜像,作为自托管Runner的基础镜像,预先完成虚拟化环境的初始化。

4. 临时替代方案:软件加速模拟器

若暂时无法启用KVM,可使用软件加速模式运行模拟器(性能低于硬件加速,但能满足基础测试需求):

- name: 启动软件加速模拟器
  uses: ReactiveCircus/android-emulator-runner@v2
  with:
    api-level: 30
    emulator-options: -no-window -no-audio -no-boot-anim -accel on

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 08:43:18