【问题标题】:Android CTS is showing ShellCommandUnresponsiveException on emulatorAndroid CTS 在模拟器上显示 ShellCommandUnresponsiveException
【发布时间】:2012-11-12 05:13:04
【问题描述】:

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

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

有什么办法可以解决这个问题吗?

【问题讨论】:

    标签: android android-emulator cts


    【解决方案1】:

    将 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);
         }
    

    【讨论】:

    • 很难阅读补丁。请考虑格式化。除此之外,您的解决方案似乎对我也很有效。谢谢。
    【解决方案2】:

    给像我这样的新手的更多注意事项:

    1. 下载安卓源码
    2. 应用补丁,并使用命令构建:make cts
    3. 复制新建的文件cts.jar 替换原来的那个。

    此修复 CTS 超时问题,因为某些 adb 命令需要超过 20 秒才能在我的 MotoA953 设备上返回(其中之一是 am instrument -w -e bundle true android.tests.devicesetup/android.tests.getinfo.DeviceInfoInstrument)。

    【讨论】:

      猜你喜欢
      • 2018-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多