2014-06-27 56 views
13

我在运行Ubuntu 14.04的Macbook Air上安装了Jenkins 1.568。我安装了android模拟器插件,并且我已经设置的配置在开始每个构建之前在-no-window模式下运行模拟器。Android仿真器在360秒后未能启动

关于该版本的一半都很好,但另一半,我得到的控制台上执行以下操作:

[android] Starting Android emulator 
$ /usr/local/src/android/android-sdk-linux/tools/emulator -no-boot-anim -ports 5782,5783 -avd Caesar -no-snapshot-load -no-snapshot-save -no-window -no-audio -no-skin -no-window 
* daemon not running. starting it now on port 5784 * 
* daemon started successfully * 
Failed to Initialize backend EGL display 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
[android] Waiting for emulator to finish booting... 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb -s emulator-5782 shell getprop dev.bootcomplete 
error: device offline 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb connect emulator-5782 
[android] Timed-out after waiting 360 seconds for emulator 
$ /usr/local/src/android/android-sdk-linux/platform-tools/adb disconnect emulator-5782 
[android] Stopping Android emulator 

显然,仿真器出现故障的时间约50%。我不知道为什么,或者如何解决它。任何建议都会受到欢迎,我可以如何运行,而不必使用naginator重新启动失败的版本。

+3

你解决了这个问题吗?我面对完全相同 –

+0

不,对不起佩德罗。我还没有解决这个问题。我仍在等待答案。与此同时,如果失败,我再次运行构建(最多可以尝试5次),从而缓解了这一问题。不是一个最佳的解决方案,但更好的方法是让它失败并保持失败。 – jwir3

+0

谢谢,我一直在寻找一个解决方案,但没有发现任何东西,所以我有一个java测试版本,用于模块化的东西,它不依赖于模拟器,另一个工作仅用于测试,我在那里发布时间是必要的。所以现在我已经从jenkins下载了我的发布版本,唯一不好的是所有依赖于仿真器的测试用例都必须在不同的工作中启动。如果我找到解决方案,我会发布它! –

回答

-1

我刚刚找到解决方案Android Emulator Plugin Failed to Initialize backend EGL display

比较你的工作与配置https://partnerdemo.ci.cloudbees.com/job/Android-dev/job/stockfish-android-cloud/,要特别注意以下设置:

Inject env var: LD_LIBRARY_PATH=/opt/android/android-sdk-linux/tool/lib 
Target ABI: armeabi-v7a 
Advanced -> Emulator Options: -no-audio -gpu off 
Advanced -> Emulator Executable: emulator64-arm 

我希望它可以帮助你。

+0

这个答案已经在不同的问题上。配置链接不起作用。我的配置没有看到任何问题。它调用模拟器,但无法启动emulatore – Libin

0

尝试更新Java。过去我有过Android模拟器问题,Java更新解决了它们。

0

超时问题。

DdmPreferences.setTimeOut是全局adb读/写数据包超时设置。 在'at com.android.ddmlib.SyncService.doPushFile(SyncService.java:671)'中,调用DdmPreferences.getTimeOut()并用于设置超时。

在的build.gradle:

android{ 
... 
    adbOptions { 
     timeOutInMs 10 * 60 * 1000 // 10 minutes 
    } 
} 

对于Eclipse(首选项 - >的Android - > DDMS)。

另外,这是一个您在build.gradle之外设置的环境变量。在Ubuntu例如:

$ export ADB_INSTALL_TIMEOUT=5 
$ ./gradlew installDebug 

运行之间:

须藤ADB杀服务器

须藤亚行启动服务器

0

下面是一个清单,以帮助:

1)你需要--all标志同时在Android清单和Android SDK的更新,否则一些包将不会安装:对于SDK 24

1A)$ ANDROID_HOME /工具/ Android的SDK名单--all

1B EX)

(for i in {1..100}; do echo y; sleep 1; done) | 
$ANDROID_HOME/tools/android update sdk --no-ui --all --filter 
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,79,80,81,82,82,84,85,101,102,103,112,113,117,118,119,120,121,122,123,124 

,如果你得到了可怕的/ home /詹金斯/ Android的SDK-LINUX /平台工具/ ADB -s模拟器-XXXX壳getprop开发。bootcomplete错误:设备离线的错误,你很可能在步骤缺一包1B

2)忽略了可怕的初始化失败后端EGL显示错误,它是一个红色的鲱鱼

3)一定要使用高级仿真器选项:

Emulator Options: -no-audio -gpu off 
Emulator executable: emulator64-arm 
Startup delay: 10 -- this *may* help 

4)构建前脚本${ANDROID_HOME}/platform-tools/adb kill-server不能伤害 退房詹金斯网站https://issues.jenkins-ci.org/browse/JENKINS-27456 https://issues.jenkins-ci.org/browse/JENKINS-11952 您还可以检查这一项https://code.google.com/p/android/issues/detail?id=209955http://www.yzjingying.net/4855150152.htm 祝你好运!