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

GitHub Actions中Android模拟器启动超时,无法运行测试求助

解决GitHub Actions中Android模拟器启动超时问题

针对你遇到的模拟器启动超时问题,可以从以下几个方面调整配置来解决:

1. 升级android-emulator-runner版本

你当前使用的v2版本存在部分兼容性问题,建议升级到最新的v3版本,该版本修复了不少模拟器启动相关的bug:

- name: Run Android tests
  uses: reactivecircus/android-emulator-runner@v3

2. 明确指定模拟器ABI并添加启动优化参数

默认ABI配置在GitHub Actions的runner环境中可能存在适配问题,添加启动参数可大幅加快模拟器启动速度并避免超时:

- name: Run Android tests
  uses: reactivecircus/android-emulator-runner@v3
  with:
    api-level: 29
    abi: x86_64  # 明确指定适配runner硬件加速的ABI
    emulator-options: -no-window -noaudio -no-boot-anim -accel auto -memory 2048
    disable-animations: true  # 禁用系统动画,进一步缩短启动耗时
    boot-timeout: 300  # 延长启动超时时间至5分钟(可根据实际情况调整)
    script: ./gradlew connectedAndroidTest --no-build-cache

3. 调整Gradle测试任务超时设置

在模块的build.gradle(或build.gradle.kts)中添加测试超时配置,避免测试任务本身因超时而中断:

android {
    testOptions {
        animationsDisabled = true
        execution 'ANDROIDX_TEST_ORCHESTRATOR'
        connectedTests {
            all {
                timeout.set(TestTimeout.valueOf("30m"))
            }
        }
    }
}

4. 升级CI依赖工具版本

将actions/checkout、actions/setup-java、actions/upload-artifact等工具升级到最新版本,提升整体环境兼容性:

修改后的完整CI配置示例:

name: Android CI

on:
  push:
    branches: [ "master", "test-dev" ]
  pull_request:
    branches: [ "master" ]

env:
  GRADLE_USER_HOME: ./gradle-cache

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - name: Set up JDK 11
      uses: actions/setup-java@v4
      with:
        java-version: 11
        distribution: 'temurin'

    - name: Grant execute permission for Gradle wrapper
      run: chmod +x gradlew

    - name: Build with Gradle
      run: ./gradlew assembleDebug --no-build-cache

    - name: Run Android tests
      uses: reactivecircus/android-emulator-runner@v3
      with:
        api-level: 29
        abi: x86_64
        emulator-options: -no-window -noaudio -no-boot-anim -accel auto -memory 2048
        disable-animations: true
        boot-timeout: 300
        script: ./gradlew connectedAndroidTest --no-build-cache

    - name: Upload test results
      uses: actions/upload-artifact@v4
      with:
        name: test-results
        path: app/build/reports/androidTests/connected/ 

这些调整通过明确模拟器配置、优化启动参数、延长超时时间以及升级依赖工具版本,可有效解决GitHub Actions环境下模拟器启动慢或超时的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:17:28