2010-11-24 3 views
4

Я запускаю план тестирования Android CTS Android на эмуляторе, работающем на Android 2.2.Android CTS показывает ShellCommandUnresponsiveException на эмуляторе

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

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

ответ

5

Установки время команды оболочки из 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

Трудно было прочитать патч. Пожалуйста, подумайте о его форматировании. Кроме того, ваше решение, похоже, хорошо работает и для меня. Благодарю. – Robert

0

Немного больше нот для новичков вроде меня:

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

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