2014-06-27 6 views
13

Ich habe Jenkins 1.568 auf einem Macbook Air mit Ubuntu 14.04 installiert. Ich habe das Android-Emulator-Plugin installiert, und die Konfiguration, die ich eingerichtet habe, führt den Emulator im -no-window-Modus vor dem Start jedes Builds.Android-Emulator konnte nach 360 Sekunden nicht gestartet werden

Etwa die Hälfte des Builds sind in Ordnung, aber die andere Hälfte, erhalte ich die folgende auf der Konsole:

[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 

Offensichtlich ist der Emulator etwa 50% der Zeit ausfällt. Ich bin mir aber nicht sicher, warum oder wie ich es beheben soll. Irgendwelche Vorschläge wären willkommen, wie ich das zum Laufen bringen kann und fehlgeschlagene Builds mit Naginator nicht neu starten müssen.

+3

Haben Sie das Problem gelöst? Ich bin genau das gleiche –

+0

Nein, tut mir leid, Pedro. Ich habe das noch nicht gelöst. Ich warte immer noch auf eine Antwort. In der Zwischenzeit habe ich es gemildert, indem ich die Builds wieder laufen lasse (bis zu maximal 5 Versuchen), wenn sie fehlschlagen. Nicht eine optimale Lösung, aber besser als nur fehlschlagen und bleiben gescheitert. – jwir3

+0

Danke, ich bin auf der Suche nach einer Lösung, aber nichts gefunden, also habe ich einen Build mit Java-Test für modulare Dinge, die nicht auf Emulator und einen anderen Job zu den Tests nur abhängt, wo ich es mal starten wird gebraucht. So, jetzt habe ich meine Release-Builds heruntergeladen von Jenkins, die einzige schlechte Sache ist alle meine Emulator abhängigen Tests Fällen, die in einem anderen Job gestartet werden müssen.Wenn ich eine Lösung finden, werde ich es veröffentlichen! –

Antwort

-1

Ich habe gerade Lösung Android Emulator Plugin Failed to Initialize backend EGL display

Vergleichen Sie die Job-Konfiguration mit https://partnerdemo.ci.cloudbees.com/job/Android-dev/job/stockfish-android-cloud/, wobei besonderes Augenmerk auf die folgenden Einstellungen zu bezahlen:

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 

Ich hoffe, seine Ihnen hilft.

+0

Diese Antwort ist bereits auf diffferent Frage. Der Konfigurationslink funktioniert nicht. Ich sehe in meiner Konfiguration nichts falsches. Es ruft den Emulator auf, kann aber das Emulatore nicht starten – Libin

0

Versuchen Sie Java zu aktualisieren. Ich hatte Android-Emulator Probleme in der Vergangenheit und ein Java-Update repariert sie.

0

Timeout Probleme.

DdmPreferences.setTimeOut ist die globale Adb-Lese-/Schreib-Paket-Timeout-Einstellung. In 'at com.android.ddmlib.SyncService.doPushFile (SyncService.java:671)' wird DdmPreferences.getTimeOut() aufgerufen und zum Setzen des Timeouts verwendet.

In build.gradle:

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

für Eclipse (Einstellungen -> Android -> DDMS).

Auch dies ist eine Umgebungsvariable, die Sie außerhalb von build.gradle setzen. Auf Ubuntu zum Beispiel:

$ export ADB_INSTALL_TIMEOUT=5 
$ ./gradlew installDebug 

zwischen den Läufen:

sudo adb Kill-Server

und

sudo adb Start-Server

0

Hier ist eine Checkliste zu helfen:

1) Sie müssen die --alle Flagge sowohl für android-Liste und Android Update sdk, sonst werden einige Pakete nicht installiert werden: ex für SDK 24

1a) $ ANDROID_HOME/tools/android Liste sdk --alle

1b)

(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 

, wenn Sie die gefürchteten/home/jenkins/android-sdk-linux/platform-tools/adb es Emulator-XXXX Shell getprop dev erhalten.bootcomplete Fehler: Gerät offline Fehler, werden Sie wahrscheinlich ein Paket in Schritt fehlt 1b

2) Ignorieren der Fehlgeschlagen gefürchtete Backend EGL Anzeigefehler zu initialisieren, ist es eine falsche Fährte

3) Achten Sie darauf, die Advanced verwenden Emulator Optionen:

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

4) ein Pre-Build-Skript ${ANDROID_HOME}/platform-tools/adb kill-server nicht Check-out Jenkins Website verletzen https://issues.jenkins-ci.org/browse/JENKINS-27456 https://issues.jenkins-ci.org/browse/JENKINS-11952 Sie auch diese ein überprüfen https://code.google.com/p/android/issues/detail?id=209955 und http://www.yzjingying.net/4855150152.htm Viel Glück!

Verwandte Themen