前言
創(chuàng)新互聯(lián)建站是一家專業(yè)提供靜海企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為靜海眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。關(guān)于什么是Hierarchy Viewer,請查看官方文檔:http://developer.android.com/tools/debugging/debugging-ui.html。
個人理解:Hierarchy Viewer能獲得當(dāng)前手機(jī)實(shí)時的UI信息,給界面設(shè)計人員和自動化測試人員帶來極大的便利。
Hierarchy Viewer 工具提供了一個可視化界面顯示布局的層次結(jié)構(gòu),讓我們可以進(jìn)行調(diào)試,從而優(yōu)化界面布局結(jié)構(gòu),它需要手機(jī)開啟 ViewServer 配合使用
但是在真機(jī)上并不能使用,Android的官方文檔中提到:出于安全考慮,Hierarchy Viewer只能連接Android開發(fā)版手機(jī)或者模擬器
在代碼中是在 WindowManagerService.java 類中做的限制,如下
private static final String SYSTEM_SECURE = "ro.secure"; private static final String SYSTEM_DEBUGGABLE = "ro.debuggable"; public boolean startViewServer(int port) { if (isSystemSecure()) { // 判斷系統(tǒng)是否是安全的 return false; } // ... try { mViewServer = new ViewServer(this, port); return mViewServer.start(); } catch (IOException e) { Slog.w(TAG_WM, "View server did not start"); } return false; } private boolean isSystemSecure() { return "1".equals(SystemProperties.get(SYSTEM_SECURE, "1")) && "0".equals(SystemProperties.get(SYSTEM_DEBUGGABLE, "0")); }