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
相关产品推荐
相关产品推荐

