第14章5节: HierarchyViewer实现原理-装备ViewServer-查询ViewServer运行状态 1

老李推荐:第14章5节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-查询ViewServer运行状态


上一小节我们描述了HierarchyViewer是如何组建ADB协议命令来实现ViewServer的端口转发的,在端口转发设置好后,下一个要做的事情就是去检测目标设备端ViewServer线程是否已经启动起来了。我们进入setupViewServer调用的DeviceBridge的isViewServerRunning方法:

 165     public static boolean isViewServerRunning(IDevice device) {  

166         final boolean[] result = new boolean[1];  

167         try {  

168             if (device.isOnline()) {  

169                 device.executeShellCommand(buildIsServerRunningShellCommand(),  

170                         new BooleanResultReader(result));  

171                 if (!result[0]) {  

172                     ViewServerInfo serverInfo = loadViewServerInfo(device);  

173                     if (serverInfo != null && serverInfo.protocolVersion > 2) {  

174                         result[0] = true;  

175                     }  

176                 }  

177             }  

178         } catch (TimeoutException e) {  

               ...  

187         }  

188         return result[0];  

189     }  

代码14-5-1 DeviceBridge - isViewServerRunning


你可能感兴趣的:(软件测试开发)