Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
詹金斯律师事务所;Android仿真器:仿真器似乎未启动;放弃_Android_Android Emulator_Jenkins_Jenkins Plugins - Fatal编程技术网

詹金斯律师事务所;Android仿真器:仿真器似乎未启动;放弃

詹金斯律师事务所;Android仿真器:仿真器似乎未启动;放弃,android,android-emulator,jenkins,jenkins-plugins,Android,Android Emulator,Jenkins,Jenkins Plugins,我想通过Jenkins测试我们的android应用程序。我配置了所有内容,但收到以下错误消息: [android]模拟器似乎没有启动;放弃 我从中找到了解决这个问题的方法 这可能有几个原因。下面的错误中列出了其中一个。我自己并没有遇到过这种情况,但在寻找解决我的具体问题的方法时,我已经阅读了stackoverflow。这似乎与android sdk工具的修订有关。在windows上,有一个修复程序,如此票据中所述: 然而,linux上似乎也有一个类似的问题尚未解决(至少问题还没有解决): 解决方

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

[android]模拟器似乎没有启动;放弃

我从中找到了解决这个问题的方法

这可能有几个原因。下面的错误中列出了其中一个。我自己并没有遇到过这种情况,但在寻找解决我的具体问题的方法时,我已经阅读了stackoverflow。这似乎与android sdk工具的修订有关。在windows上,有一个修复程序,如此票据中所述: 然而,linux上似乎也有一个类似的问题尚未解决(至少问题还没有解决):

解决方案:该票据中建议的解决方案是创建一个名为emulator(返回原始)的链接,指向相应的emulator-X bin

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

NAND:无法写入文件/tmp/android jenkins/emulator CaWkYU,文件存在 [android]Emulator似乎未启动;正在放弃


您在想什么,问题是什么?使用相同的设置有时成功,有时不成功。为什么?

您有多少构建执行器(默认值为2)我敢打赌,你只能在你的詹金斯服务器上运行一个模拟器,当两个任务试图执行时,一个任务就被阻塞了。如果是这样的话,你可能想考虑在Android任务完成时锁定所有执行器。或者使用奴隶。

< P>最后,我发现了源代码中的问题:

adb连接超时为1min,其修复方法为:

 private static final int ADB_CONNECT_TIMEOUT_MS = 60 * 1000;
因此,我将它增加到5分钟,构建一个新插件并安装,它解决了我的问题(~100个构建没有这个问题)

您可以检查哪些修复了这个问题。在将PR合并到主repo并获得新插件版本之前,只需从作者的forked repo下载项目并运行命令:

mvn install
从项目根目录中获取“android emulator.hpi”文件,该文件位于

"<project root>/target"
然后重新启动Jenkins CI。在项目配置中使用选项

"Build Environment" -> "Common Emulator Options" -> "Advanced" -> "Adb timeout"

例如,将其设置为300秒。

我总是在没有正在进行的构建时手动启动构建。现在,我将shell脚本添加到构建步骤中,因为新的想法是仿真器进程在构建后不会停止。您是如何增加的?我在jar文件中找到了AndroidEmulator.class-我不确定如何从withi增加TMOUTn在那里。@Utkarshssinha“构建一个新插件”是一个关于他如何增加插件的致命漏洞:下载源代码,更改它并重新编译。这可能会帮助您:
"Build Environment" -> "Common Emulator Options" -> "Advanced" -> "Adb timeout"