"[android] Emulator did not appear to start; giving up"



Jenkins 无法启动模拟器。下面是 jenkins 的控制台输出:

First time build. Skipping changelog.
Starting xvnc
[MatchMaking] $ vncserver :65 -localhost -nolisten tcp
New 'veam:65 (jenkins)' desktop is veam:65
Starting applications specified in /var/lib/jenkins/.vnc/xstartup
Log file is /var/lib/jenkins/.vnc/veam:65.log
$ /usr/local/android-sdk/tools/android list target
[android] Using Android SDK: /usr/local/android-sdk
[android] Adding 256M SD card to AVD 'hudson_en-US_160_WXGA720_android-15_x86'...
$ /usr/local/android-sdk/platform-tools/adb start-server
$ /usr/local/android-sdk/tools/emulator -snapshot-list -no-window -avd hudson_en-US_160_WXGA720_android-15_x86
[android] Starting Android emulator and creating initial snapshot
[android] Erasing existing emulator data...
$ /usr/local/android-sdk/tools/emulator -no-boot-anim -ports 60491,34583 -prop persist.sys.language=en -prop persist.sys.country=US -avd hudson_en-US_160_WXGA720_android-15_x86 -no-snapshot-load -no-snapshot-save -wipe-data
SDL init failure, reason is: No available video device
* daemon not running. starting it now on port 39546 *
* daemon started successfully *
[android] Emulator did not appear to start; giving up
$ /usr/local/android-sdk/platform-tools/adb disconnect localhost:34583
[android] Stopping Android emulator
$ /usr/local/android-sdk/platform-tools/adb kill-server
Terminating xvnc.
$ vncserver -kill :65
Killing Xvnc4 process ID 16861
Finished: NOT_BUILT

如果我输入

/usr/local/android-sdk/tools/emulator -snapshot-list -no-window -avd hudson_en-US_160_WXGA720_android-15_x86

/usr/local/android-sdk/tools/emulator -no-boot-anim -ports 60491,34583 -prop persist.sys.language=en -prop persist.sys.country=US -avd hudson_en-US_160_WXGA720_android-15_x86 -no-snapshot-load -no-snapshot-save -wipe-data

我得到

PANIC: Could not open: hudson_en-US_160_WXGA720_android-15_x86

我在 ubuntu 12.04 上运行 jenkins。

错误"SDL 初始化失败,原因是:没有可用的视频设备"表明模拟器未在图形环境中运行。

但是,您的日志显示正在启动 VNC 服务器。 但也许在模拟器启动时 VNC 服务器还没有完全完成启动。

您可以通过将模拟器启动延迟几秒钟来检查是否是这种情况。

来自 Android 模拟器插件文档:

尽管 Android 模拟器插件旨在确保它在 Xvnc 服务器

启动后始终运行,但 Xvnc 插件不会等待 Xvnc 服务器完全启动并运行,然后再将控制权移交给 Android 模拟器插件。

出于这个原因,您可能希望将模拟器启动延迟几秒钟(例如三到五秒),让 Xvnc 服务器有时间完成启动,然后再尝试在其中启动 Android 模拟器。为此,请在"高级"选项下的"启动延迟"字段中输入所需的秒数。

<小时 />

或者,您可以在作业配置中取消选中"显示模拟器窗口"选项,该选项不会显示模拟器,并且无需运行 VNC 服务器。

相关内容

最新更新