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

标签 android jenkins adb

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 init failure, reason is: No available video device”表明模拟器没有在图形环境中运行。

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

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

来自 the Android Emulator plugin documentation :

Although the Android Emulator plugin has been designed to ensure it always runs after an Xvnc server has been started, the Xvnc plugin does not wait for the Xvnc server to be fully up-and-running before handing control over to the Android Emulator plugin.

For this reason, you may want to delay emulator startup by a few seconds (e.g. three to five), giving the Xvnc server time to finish starting-up before attempting to launch an Android emulator into it. To do so, enter the desired number of seconds in the "Startup delay" field under "Advanced" options.


或者,您可以取消勾选作业配置中的“显示模拟器窗口”选项,这样就不会显示模拟器,并且无需运行 VNC 服务器。

关于android - "[android] Emulator did not appear to start; giving up",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955837/

相关文章:

java - Android 流量分析

android - Gradle 同步失败;无法解析依赖

java - Android TextView 无效不起作用

jenkins - 在 Jenkins 管道的多个步骤中定义和访问变量

android dumpsys batteryinfo 与 android dumpsys batterystats

java - 基于数组列表 d 对数组列表 a、b、c 进行排序

git - NodeJS/Jenkins/GIT 和 Jenkins Slave 作为 Web 服务器

ios - xcodebuild : Command failed with exit code 65 in Ionic Capacitor Application

android - 无法为调试器绑定(bind)到本地 86XX

android - ADB 服务器未运行