Подтвердить что ты не робот

Плагин Android Emulator Jenkins не работает

Я пытаюсь использовать Jenkins Android Emulator с Cloudbees, и я часто испытываю такой вывод:

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

Я использую andoird-19 в качестве цели, но я попробовал несколько. Я также попытался воспроизвести этот случай на моем локальном примере jenkins, и это происходит так же.

Это становится хуже, когда я пытаюсь загрузить из моментального снимка: если я не начинаю с моментального снимка, эмулятор запускается в 50% случаев, если я использую моментальные снимки, тогда он всегда терпит неудачу.

Я использую emulator-arm как исполняемый файл, так как я читал о некоторых ошибках с 64-битной версией. Не уверен, что это относится и к r19, хотя.

Любая идея?

4b9b3361

Ответ 1

Проблемы с эмуляторами Jenkins для Android, которые у меня были, - это легион. Вот контрольный список, который поможет:

1) Вам нужен флаг -all для списка android и sdk для обновления Android, иначе некоторые пакеты не будут установлены: ex для SDK 24

1а) $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

Если вы получаете страшную ошибку /home/jenkins/android-sdk-linux/platform-tools/adb -s emulator-XXXX shell getprop dev.bootcomplete error: device offline, скорее всего, вам не хватает пакета на шаге 1b

2) Игнорируйте страшную ошибку Failed to Initialize backend EGL display, это красная селедка

3) Обязательно используйте опцию Advanced Emulator:

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

4) предварительная сборка script ${ANDROID_HOME}/platform-tools/adb kill-server не может повредить

Удачи!

Ответ 2

У меня возникла такая же проблема после обновления плагина Android Emulator до версии 2.11.1. Переход на 2.10 с помощью диспетчера плагинов оказался для меня приемлемым решением.

Ответ 3

Испытывая ту же проблему, используя Jenkins Android Emulator Plugin v2.13 с эмуляторами, работающими под управлением Android-19 и выше.

Я нашел открытый билет Jenkins, чтобы исправить проблему