2014-05-16 13 views
20

sto cercando di utilizzare il Jenkins Android Emulator con CloudBees e sto spesso sperimentando questo tipo di uscita:Android Emulator Jenkins Plugin non funziona

error: device offline 
$ /opt/android/android-sdk-linux/platform-tools/adb connect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb -s localhost:44194 shell getprop dev.bootcomplete 
error: device offline 
$ /opt/android/android-sdk-linux/platform-tools/adb connect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb -s localhost:44194 shell getprop dev.bootcomplete 
error: device offline 
$ /opt/android/android-sdk-linux/platform-tools/adb disconnect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb connect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb -s localhost:44194 shell getprop dev.bootcomplete 
error: device offline 
$ /opt/android/android-sdk-linux/platform-tools/adb connect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb -s localhost:44194 shell getprop dev.bootcomplete 
error: device offline 
$ /opt/android/android-sdk-linux/platform-tools/adb connect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb -s localhost:44194 shell getprop dev.bootcomplete 
error: device offline 
$ /opt/android/android-sdk-linux/platform-tools/adb disconnect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb connect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb -s localhost:44194 shell getprop dev.bootcomplete 
error: device offline 
$ /opt/android/android-sdk-linux/platform-tools/adb connect localhost:44194 
$ /opt/android/android-sdk-linux/platform-tools/adb -s localhost:44194 shell getprop dev.bootcomplete 
error: device offline 
$ /opt/android/android-sdk-linux/platform-tools/adb connect localhost:44194 
[android] Timed-out after waiting 720 seconds for emulator 
$ /opt/android/android-sdk-linux/platform-tools/adb disconnect localhost:44194 
[android] Stopping Android emulator 
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer. 
$ /opt/android/android-sdk-linux/platform-tools/adb kill-server 
Finished: NOT_BUILT 

Sto usando andoird-19 come bersaglio, ma Ho provato diversi . Ho anche provato a riprodurre il caso sulla mia istanza locale di jenkins e succede lo stesso.

Questo peggiora quando provo a caricare da snapshot: se non si avvia da snapshot l'emulatore si avvia nel 50% dei casi, se utilizzo le istantanee, fallirebbe sempre.

Sto usando l'emulatore-braccio come eseguibile, poiché ho letto alcuni bug con la versione a 64 bit. Non sono sicuro che si applica anche a r19.

Qualche idea?

+0

Ho lo stesso problema quando provo a usare l'emulatore creato tramite Jeknins. Quando sto cercando di usare l'emulatore esistente, semplicemente non trova l'immagine. (entrambi i problemi riguardano la v21). Qual è l'opzione migliore per far funzionare l'emulatore? –

risposta

1

Ho iniziato ad avere lo stesso problema dopo aver aggiornato il plug-in Emulatore Android a 2.11.1. Il downgrade a 2.10 tramite il gestore plugin ha dimostrato di essere una soluzione accettabile per me.

+0

L'utilizzo di sdk 4.2 o Android-18/API Google 18 funziona correttamente. Immagino che accada solo con l'ultima versione di SDK. – valentina

+0

Ciao Puoi approfondire come sei stato declassato? Non vedo questa opzione nella mia scheda "Installato" –

+0

Sì, specificando "android-18" invece di "android-19" funzionava bene. – Yun

3

I problemi dell'emulatore Android Jenkins che ho avuto sono legioni. Ecco una lista di controllo per aiutare:

1) è necessario il flag --all sia per la lista di Android e Android aggiornamento sdk, altrimenti non verranno installati alcuni pacchetti: ex per SDK 24

1a) $ANDROID_HOME/tools/android list sdk --all

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 

Se si ottiene l'errore temuto /home/jenkins/android-sdk-linux/platform-tools/adb -s emulator-XXXX shell getprop dev.bootcomplete error: device offline, è probabile che manca un pacchetto in fase 1b

2) Ignorare l'errore temuto Failed to Initialize backend EGL display, è una falsa pista

3) Assicurarsi di utilizzare le opzioni avanzate Emulator:

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

4) un pre-build lo script ${ANDROID_HOME}/platform-tools/adb kill-server non può far male

Buona fortuna!

0

Provare lo stesso problema utilizzando il plug-in Emulatore Android Jenkins v2.13 con emulatori con Android-19 e versioni successive.

Ho trovato un biglietto Jenkins aperto per risolvere il problema here.

Sembra che una correzione richiederebbe un aggiornamento del plug-in Emulatore Android. Nel frattempo una soluzione alternativa è usare un emulatore pre-android-19 - Non ho avuto il problema su emulatori Android-16, android-17 o android-18.

Una soluzione alternativa è provare a eseguire il downgrade del plug-in Emulatore Android alla v2.10, come suggerito da @zachgeek.

Problemi correlati