【问题标题】:Android Emulator Jenkins Plugin not workingAndroid模拟器Jenkins插件不起作用
【发布时间】:2014-07-05 03:38:36
【问题描述】:

我正在尝试将 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。

有什么想法吗?

【问题讨论】:

  • 我在尝试使用通过 Jeknins 创建的模拟器时遇到了同样的问题。当我尝试使用现有的模拟器时,它根本找不到图像。 (这两个问题都与 v21 有关)。启动并运行模拟器的最佳选择是什么?

标签: android jenkins emulation


【解决方案1】:

我遇到的 Jenkins Android 模拟器问题很多。以下是一份可提供帮助的清单:

1) android list 和 android update sdk 都需要 --all 标志,否则将无法安装某些包:ex for 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

如果您收到可怕的/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)一定要使用高级模拟器选项:

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

4) 预构建脚本 ${ANDROID_HOME}/platform-tools/adb kill-server 不会受到伤害

祝你好运!

【讨论】:

    【解决方案2】:

    在运行 android-19 及更高版本的模拟器上使用 Jenkins Android Emulator Plugin v2.13 时遇到同样的问题。

    我找到了一个开放的 Jenkins 票来解决问题 here

    看起来修复需要更新 Android Emulator 插件。与此同时,一种解决方法是使用 pre-android-19 模拟器 - 我在 android-16、android-17 或 android-18 模拟器上没有遇到问题。

    按照@zachgeek 的建议,另一种解决方法是尝试将 Android 模拟器插件降级到 v2.10。

    【讨论】:

      【解决方案3】:

      在将 Android Emulator 插件升级到 2.11.1 后,我开始遇到同样的问题。通过插件管理器降级到 2.10 对我来说是一个可以接受的解决方法。

      【讨论】:

      • 使用 sdk 4.2 或 Android-18/Google API 18 可以正常工作。我猜它只发生在 SDK 的最新版本中。
      • 嗨你能详细说明你是如何降级的吗?我在“已安装”选项卡中没有看到这样的选项
      • 是的,指定“android-18”而不是“android-19”效果很好。
      • 从 19 切换到 18 不是一个很好的解决方案,您需要针对许多 Android 版本测试您的应用...
      猜你喜欢
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多