Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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
在Jenkins Linux EC2上的android emulator中安装apk时出现TimeoutException_Android_Jenkins_Amazon Ec2_Android Emulator_Ravello - Fatal编程技术网

在Jenkins Linux EC2上的android emulator中安装apk时出现TimeoutException

在Jenkins Linux EC2上的android emulator中安装apk时出现TimeoutException,android,jenkins,amazon-ec2,android-emulator,ravello,Android,Jenkins,Amazon Ec2,Android Emulator,Ravello,我的雇主将Jenkins配置为当我们需要为Android应用程序运行自动化GUI测试时,自动在Amazon EC2上启动Jenkins奴隶 目前,我们正在使用Android 2.2,因为它在我们当前的Jenkins slave设置中运行良好。SDK版本使用API 8和以上任何在尝试启动模拟器时超时的内容 我们想放弃对安卓4.0之前任何产品的支持 我正在更新我们的基础设施,以便使用API 15在模拟器上运行这些自动化GUI测试 我们正在关注Ravello,它通过提供硬件辅助加速。它使用x86系统映

我的雇主将Jenkins配置为当我们需要为Android应用程序运行自动化GUI测试时,自动在Amazon EC2上启动Jenkins奴隶

目前,我们正在使用Android 2.2,因为它在我们当前的Jenkins slave设置中运行良好。SDK版本使用API 8和以上任何在尝试启动模拟器时超时的内容

我们想放弃对安卓4.0之前任何产品的支持

我正在更新我们的基础设施,以便使用API 15在模拟器上运行这些自动化GUI测试

我们正在关注Ravello,它通过提供硬件辅助加速。它使用x86系统映像以及android64-x86二进制工具来运行

当前,尝试安装apk时引发异常。我已经在谷歌上搜索过了,我没有看到任何人遇到同样的错误。我使用grepcode.com查看异常堆栈跟踪打印出来的代码;昨天,我看到它在读取亚洲开发银行的数据时似乎遇到了问题,所以我认为可能是我的SD卡太大了,所以将其缩小到了5000万。这在昨天起了作用,测试开始运行,但随后挂起了测试套件中的一个测试,可能是57个测试套件中的20个测试

然后我@抑制了那个测试,现在我得到了这个例外。删除@Suppression不会改变任何事情:它一直无法安装

有没有人看到这一点,或者对我如何解决这个问题有什么建议

以下是错误日志:


[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:internal-pre-integration-test (default-internal-pre-integration-test) on project ravenousity-android-test: Install of /mnt/workspace/workspace/lyndsey-ferguson_DR-1543-update-android-version_android-dynamic-grids/m2-repo/com/ravenousity/ravenousity-android/2.6.1-SNAPSHOT/ravenousity-android-2.6.1-SNAPSHOT.apk failed. InstallException: TimeoutException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:internal-pre-integration-test (default-internal-pre-integration-test) on project ravenousity-android-test: Install of /mnt/workspace/workspace/lyndsey-ferguson_DR-1543-update-android-version_android-dynamic-grids/m2-repo/com/ravenousity/ravenousity-android/2.6.1-SNAPSHOT/ravenousity-android-2.6.1-SNAPSHOT.apk failed.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Install of /mnt/workspace/workspace/lyndsey-ferguson_DR-1543-update-android-version_android-dynamic-grids/m2-repo/com/ravenousity/ravenousity-android/2.6.1-SNAPSHOT/ravenousity-android-2.6.1-SNAPSHOT.apk failed.
    at com.jayway.maven.plugins.android.AbstractAndroidMojo$1.doWithDevice(AbstractAndroidMojo.java:521)
    at com.jayway.maven.plugins.android.AbstractAndroidMojo.doWithDevices(AbstractAndroidMojo.java:607)
    at com.jayway.maven.plugins.android.AbstractAndroidMojo.deployApk(AbstractAndroidMojo.java:513)
    at com.jayway.maven.plugins.android.AbstractAndroidMojo.deployDependencies(AbstractAndroidMojo.java:541)
    at com.jayway.maven.plugins.android.phase11preintegrationtest.InternalPreIntegrationTestMojo.execute(InternalPreIntegrationTestMojo.java:36)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
Caused by: com.android.ddmlib.InstallException
    at com.android.ddmlib.Device.installPackage(Device.java:586)
    at com.jayway.maven.plugins.android.AbstractAndroidMojo$1.doWithDevice(AbstractAndroidMojo.java:516)
    ... 25 more
Caused by: com.android.ddmlib.TimeoutException
    at com.android.ddmlib.AdbHelper.read(AdbHelper.java:648)
    at com.android.ddmlib.SyncService.doPushFile(SyncService.java:688)
    at com.android.ddmlib.SyncService.pushFile(SyncService.java:375)
    at com.android.ddmlib.Device.syncPackageToDevice(Device.java:607)
    at com.android.ddmlib.Device.installPackage(Device.java:577)
    ... 26 more

我的同事JayB发现了这一点:

使用maven android插件的4.0.0-rc.3版本,它是 可以配置adb连接超时。使用3.1.1 版本的插件,没有办法做到这一点

[…剪断..我们现在不能使用4.0.0-rc.3..]

相反,我克隆了maven android插件,创建了 3.1.1版本,并添加了一行代码来硬编码超时 60秒后,将插件的更新版本安装为 3.1.1.ravenousity-1,并使用它构建。在该配置中,构建完成了应用程序的安装 以及开始测试