Android UIAutomator查看器可以';t检测从STF(智能手机测试场)连接的设备
通过发出以下命令从STF服务器远程连接移动设备:Android UIAutomator查看器可以';t检测从STF(智能手机测试场)连接的设备,android,android-studio,adb,android-uiautomator,uiautomatorviewer,Android,Android Studio,Adb,Android Uiautomator,Uiautomatorviewer,通过发出以下命令从STF服务器远程连接移动设备: C:\Users\tester>adb connect 192.168.0.10:11173 connected to 192.168.0.1:11173 然后我发布了adb设备,远程设备出现在设备列表中: C:\Users\tester>adb devices 192.168.0.10:11173 device 在Android Studio中尝试使用UI Automator Viewer转储树视图时,我遇到了以下问题。它
C:\Users\tester>adb connect 192.168.0.10:11173
connected to 192.168.0.1:11173
然后我发布了adb设备,远程设备出现在设备列表中:
C:\Users\tester>adb devices
192.168.0.10:11173 device
在Android Studio中尝试使用UI Automator Viewer转储树视图时,我遇到了以下问题。它显示了获取设备屏幕截图的错误,因为adb没有安装Android设备
我还尝试在Android Studio中调试我的应用程序,这次成功检测到该设备
因此,问题似乎是由于UIAutomator查看器无法识别设备名称,如“IP:PORT”。任何人都可以为这个问题提供解决方案或解决方法?谢谢
顺便说一句,我的测试环境是:
OS: Windows 7
AS: 2.3
ADB: 1.0.39
它只支持使用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);
}
private ProcRunner getAdbRunner(字符串序列,字符串…命令){
List cmd=new ArrayList();
命令添加(“adb”);
如果(串行!=null){
cmd.添加(“-s”);
命令添加(序列号);
}
for(字符串s:命令){
cmd.add(s);
}
返回新的ProcRunner(cmd);
}
因此,正如您所看到的,它使用传统的方式连接adb服务器,如果您想使用wifi连接,您需要更改getAdbRunner()的代码。允许使用IP连接到设备
如果要转储完整的树,请运行
dump -a 192.168.0.10:11173