【Android效能優化】HierarchyViewer無法連線真機除錯
阿新 • • 發佈:2019-02-16
之前用HierarchyViewer檢視應用的UI資訊,感覺很給力,但是今天刷了使用者版的韌體後,用hierarchyViewer就不可以,出現下面的錯誤:
boolean startViewServer (int port ){
如果要在自己的手機正常地使用Hierarchy Viewer,有三種方法: 1、直接刷一個開發版本的Android韌體(一般只有在手機開發公司才可以) 2、如果只需要檢視自己開發的應用的UI變化,可以用GitHub上的一個專案ViewServer 參考文章:
hierarchyviewer unable to debug device
To preserve security, Hierarchy Viewer can only connect to devices running a developer version of the Android system. 也就是說:Hierarchy Viewer只能連線Android開發版手機或是模擬器,只有ro.secure==0 && ro.debuggable==1的Android系統。 Hierarchy Viewer在連線手機時,手機會啟動View Server與其進行socket通訊。但在我們平常用的商業機上,是無法開啟View Server的,Android原始碼實現這個限制的如下(目錄:/frameworks/base/services/java/com/android/server/wm/WindowManageService.java):public
if( isSystemSecure()){
returnfalse;
}
if(!checkCallingPermission(Manifest.permission.DUMP,"startViewServer")){
returnfalse;
}
}
如果要在自己的手機正常地使用Hierarchy Viewer,有三種方法: 1、直接刷一個開發版本的Android韌體(一般只有在手機開發公司才可以) 2、如果只需要檢視自己開發的應用的UI變化,可以用GitHub上的一個專案ViewServer 參考文章: