【问题标题】:UIAutomator Viewer can't detect the deviced connected from STF(Smartphone Test Farm)UIAutomator Viewer 无法检测到从 STD(智能手机测试场)连接的设备
【发布时间】:2017-07-13 03:46:38
【问题描述】:

通过发出以下命令从 STF 服务器远程连接移动设备:

C:\Users\tester>adb connect 192.168.0.10:11173
connected to 192.168.0.1:11173

然后我发出adb devices,远程设备出现在设备列表中:

C:\Users\tester>adb devices 
192.168.0.10:11173   device

当尝试在 Android Studio 中使用 UI Automator Viewer 转储树视图时,我遇到了以下问题。它显示了获取设备屏幕截图的错误,因为 adb 没有安装 Android 设备。

我还尝试在 Android Studio 中调试我的应用,这次成功检测到设备。

所以问题似乎是由于 UIAutomator Viewer 无法识别设备名称,如“IP:PORT”。任何人都可以为该问题提供解决方案或解决方法吗?谢谢。

顺便说一句,我的测试环境是:

  OS: Windows 7
  AS: 2.3
 ADB: 1.0.39  

【问题讨论】:

    标签: android android-studio adb android-uiautomator uiautomatorviewer


    【解决方案1】:

    它只支持用usb模式连接设备,在Uiautomatorviewer源码中,所有动作都是通过adb shell命令完成的,例如,

        procRunner = getAdbRunner(serial, "shell", "/system/bin/uiautomator", "dump", "/sdcard/uidump.xml");
    

    在哪里,

    private ProcRunner getAdbRunner(String serial, String... command) {
            List<String> cmd = new ArrayList<String>();
            cmd.add("adb");
            if (serial != null) {
                cmd.add("-s");
                cmd.add(serial);
            }
            for (String s : command) {
                cmd.add(s);
            }
            return new ProcRunner(cmd);
        }
    

    所以,如你所见,它使用传统的方式连接adb服务器,如果你想用wifi连接,你需要改变getAdbRunner()的代码。

    【讨论】:

      【解决方案2】:

      AndroidViewClient/culebra 允许使用 IP 连接到设备。

      如果要转储完整的树,请运行

      dump -a 192.168.0.10:11173
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-10
        • 1970-01-01
        • 2011-07-04
        • 1970-01-01
        • 1970-01-01
        • 2017-09-21
        相关资源
        最近更新 更多