当尝试运行多个 gradle 管理的设备时,在一台机器上我们收到错误 “无法检索 2 个设备,只有 1 个可用。继续在 1 个分片上运行测试。”
使用此命令运行
./gradlew pixel4api30DebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.upmc.enterprises.myupmc.Suites.CITestSuite -Pandroid.experimental.androidTest.numManagedDeviceShards=2 --enable-display --info -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"
导致此错误的原因是什么?怎么修?它只生成 1 个设备,而不是 2 个。
我们使用的是 32GB 机器,因此应该有足够的内存。
这不完全是您的情况,但可能有用。
查看 gradle 管理的设备应用程序后,我发现启动的最大设备数量有限制。这对我们有用:
android.experimental.testOptions.managedDevices.maxConcurrentDevices={your_shard_count}
默认最大并发分片 = 4
[设置最大分片数量限制的代码][1]
[1]:https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:build-system/gradle-core/src/main/java/com /android/build/gradle/internal/AvdComponents.kt;l=41?q=ManagedVirtualDeviceLockManager%5C(&ss=android-studio%2Fplatform%2Ftools%2Fbase