我正在尝试将我的Android项目升级到CircleCI 2.0。一切都很好,但是在使用模拟器运行Android UI测试时出现了问题。
- 日志显示
com.android.builder.testing.api.DeviceException: No connected devices!
- 我实际上已经下载了一个模拟器镜像并进行了设置(因为CircleCI的默认Android Docker镜像不带有模拟器):
sdkmanager "system-images;android-22;default;armeabi-v7a" && echo "no" | avdmanager create avd -n test -k "system-images;android-22;default;armeabi-v7a" && (emulator64-arm -avd test -noaudio -no-boot-anim -no-window -accel on) &
adb devices
没有返回任何设备:(
emulator: ERROR: Could not load OpenGLES emulation library [lib64OpenglRender]: lib64OpenglRender.so: cannot open shared object file: No such file or directory emulator: ERROR: Could not load OpenGLES emulation library [lib64OpenglRender]: lib64OpenglRender.so: cannot open shared object file: No such file or directory emulator: ERROR: Could not initialize OpenglES emulation, use '-gpu off' to disable it.
- filolGradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
。我猜测这可能与内存问题有关,我会进行调查。是的,我正在使用ARM模拟器。 - filol_JAVA_OPTIONS: "-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"
来解决。更多细节,请查看我的文章:https://medium.com/@thyrlian/migrating-circleci-1-2-for-android-77a63219d64c - Jing Li-Xms1024m -Xmx1536m -XX:MaxMetaspaceSize=1536m
添加到_JAVA_OPTIONS中。 - Jing Li