Android CTS показывает ShellCommandUnresponsiveException на эмуляторе - PullRequest
4 голосов
/ 24 ноября 2010

Я использую Android CTS Android Test Plan на эмуляторе на Android 2.2.

Но большинство тестовых случаев показывают тайм-аут, а ошибка показывает com.android.ddmlib.ShellCommandUnresponsiveException.

Есть ли способ решить эту проблему?

Ответы [ 2 ]

5 голосов
/ 16 декабря 2010

Установить время команды оболочки на 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);
     }
0 голосов
/ 16 сентября 2011

Еще немного заметок для таких новичков, как я:

  1. Скачать Android-источник
  2. примените патч и соберите команду: make cts
  3. скопируйте новый файл cts.jar для замены исходного.

Это исправляет проблему тайм-аута CTS, поскольку некоторым командам adb требуется более 20 секунд, чтобы вернуться на мое устройство MotoA953 (одна из них am instrument -w -e bundle true android.tests.devicesetup/android.tests.getinfo.DeviceInfoInstrument).

...