詹金斯& Android模拟器:模拟器似乎没有启动;放弃

时间:2013-10-13 19:19:13

标签: android android-emulator jenkins jenkins-plugins

我想通过Jenkins测试我们的Android应用程序。我配置了所有内容,但是我收到了此错误消息:

  

[android]模拟器似乎没有开始;放弃

我从here

找到了解决此问题的方法
  

这可能有几个原因。其中一个列在下面的错误中。我自己没有遇到过这个问题,但我在寻找解决我特定问题的方法时已经阅读了stackoverflow。它似乎与android sdk工具的修订有关。在Windows上有一个类似于此票证中所述的修复:https://issues.jenkins-ci.org/browse/JENKINS-10815   但是在linux上似乎还有一个类似的问题尚未修复(至少票证仍然是开放的):https://issues.jenkins-ci.org/browse/JENKINS-14901

解决方案:该故障单中建议的解决方案是使用名称模拟器(返回原始)创建一个指向相应模拟器-X bin的链接。

我尝试了它并解决了我们的问题,但只有一些构建,之后我又得到了这个消息。这就是为什么我删除了android插件并删除了sdk文件夹,所以我重新安装了一切。之后有4个成功构建。 (有趣的是,我没有像以前那样创建模拟器链接)但是一切都是,问题得到了支持。我玩配置并为模拟器启动设置30秒延迟并检查“构建后删除模拟器”选项。我认为问题解决了,因为我有14个!!!成功建立,但问题再次得到支持:( 现在还有一条新的错误消息:

  

NAND:无法写入文件/ tmp / android-jenkins / emulator-CaWkYU,文件存在   [android]模拟器似乎没有开始;放弃

你在想什么,问题是什么?同样的设置有时成功,有时不成功。为什么?

3 个答案:

答案 0 :(得分:3)

最后我在源代码中发现了问题: AndroidEmulator.java

adb连接超时为1分钟并且已修复:

 private static final int ADB_CONNECT_TIMEOUT_MS = 60 * 1000;

所以我把它增加到5分钟,构建一个新的插件并安装它解决了我的问题(~100版没有这个问题)

答案 1 :(得分:2)

你有多少个构建执行程序(默认为2)?我打赌你一次只能在你的Jenkins服务器上运行一个模拟器,当两个工作正在尝试执行时,一个工作正在被破坏。如果是这种情况,您可能需要考虑Heavy Build plugin在Android作业过程中锁定所有执行程序。或者使用奴隶。

答案 2 :(得分:0)

您可以查看已修复此问题的pull request。在将PR合并到主仓库并获得新的插件版本之前,只需从作者的分叉仓库和运行命令下载项目:

mvn install

从项目根目录。之后采取" android-emulator.hpi"文件位于

"<project root>/target"
来自Jenkins Web UI的

目录和更新/安装插件

Manage Jenkins -> Manage Plugins -> Advanced

然后重启Jenkins CI。在项目配置中使用选项

"Build Environment" -> "Common Emulator Options" -> "Advanced" -> "Adb timeout"
例如,

将其设置为300秒。