Android CTS在模拟器上显示ShellCommandUnresponsiveException

时间:2010-11-24 06:33:09

标签: android android-emulator cts

我在Android 2.2上运行的模拟器上运行Android CTS Android测试计划。

但是大多数测试用例都显示超时,错误显示com.android.ddmlib.ShellCommandUnresponsiveException。

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:5)

将shell命令时间设置为5分钟(而不是5秒: - ))

diff --git a/tools/host/src/com/android/cts/TestDevice.java b/tools/host/src/com/android/cts/TestDevice.java
index 65ff969..b8578bc 100644
--- a/tools/host/src/com/android/cts/TestDevice.java
+++ b/tools/host/src/com/android/cts/TestDevice.java
@@ -18,6 +18,7 @@ package com.android.cts;

 import com.android.ddmlib.Client;
 import com.android.ddmlib.ClientData;
+import com.android.ddmlib.DdmPreferences;
 import com.android.ddmlib.IDevice;
 import com.android.ddmlib.IShellOutputReceiver;
 import com.android.ddmlib.MultiLineReceiver;
@@ -143,6 +144,7 @@ public class TestDevice implements DeviceObserver {
         mDeviceInfo = new DeviceParameterCollector();
         mPackageActionTimer = new PackageActionTimer();
         mObjectSync = new ObjectSync();
+        DdmPreferences.setTimeOut(300000);
     }

答案 1 :(得分:0)

像我这样的新手有点注意事项:

  1. 下载android源码
  2. 应用补丁,并使用命令make cts
  3. 进行构建
  4. 复制新构建的文件cts.jar以替换库存文件。
  5. 这解决了CTS超时问题,因为一些adb命令需要超过20秒才能在我的MotoA953设备上返回(其中一个是am instrument -w -e bundle true android.tests.devicesetup/android.tests.getinfo.DeviceInfoInstrument)。