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

GitLab CI运行Android Gradle托管设备报错,本地正常求排查

Android Gradle托管设备GitLab CI环境报错排查

问题背景

本地运行Android Gradle托管设备功能正常,但在GitLab CI环境中出现启动失败报错(报错截图:报错截图)。

设备配置

testOptions {
    managedDevices {
        devices {
            illusionDevice (com.android.build.api.dsl.ManagedVirtualDevice) {
                device = "Pixel 2"
                apiLevel = 30
                systemImageSource = "aosp-atd"
            }
        }
    }
}

已启用属性

android.testoptions.manageddevices.emulator.gpu=swiftshader_indirect

排查方向及解决方案

1. CI Runner资源不足

托管设备启动需要足够CPU和内存,GitLab默认Runner资源配额可能无法满足:

  • 检查Runner配置,确保分配至少2核CPU、4GB以上内存
  • 在.gitlab-ci.yml中添加资源限制配置:
resources:
  limits:
    memory: 5120M
    cpu: 2

2. ATD镜像兼容性问题

aosp-atd是为自动化测试优化的镜像,部分CI环境存在兼容性限制:

  • 尝试切换为常规aosp镜像,修改配置:
systemImageSource = "aosp"
  • 若必须用ATD镜像,确认CI环境的内核版本、容器系统符合镜像运行要求

3. GPU配置未生效或不兼容

CI环境可能无法识别swiftshader_indirect配置:

  • 尝试禁用GPU加速,改用纯CPU渲染,添加属性:
android.testoptions.manageddevices.emulator.gpu=off
  • 检查CI环境是否有其他环境变量覆盖该Gradle属性

4. 网络限制导致镜像下载异常

CI环境的代理或防火墙可能拦截系统镜像下载:

  • 确认Runner能正常访问Google Maven仓库和Android镜像服务器
  • 在CI配置中添加镜像缓存逻辑,避免重复下载

5. Gradle/AGP版本不一致

本地与CI环境的Gradle或Android Gradle Plugin版本差异可能引发问题:

  • 检查CI环境使用的Gradle和AGP版本是否与本地完全一致
  • 升级到最新稳定版AGP,修复已知CI兼容性bug

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:13:30