您的位置:首页 > 其它

HierarchyViewer无法连接真机调试

2015-08-24 11:52 267 查看
之前用HierarchyViewer查看应用的UI信息,感觉很给力,但是今天刷了用户版的固件后,用hierarchyViewer就不可以,出现下面的错误:

hierarchyviewer unable to debug device


在网络上搜索了一下,发现Android的官方文档上有说明:

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 boolean startViewServer ( int port ) {    if ( isSystemSecure() ) {        return false ;    }
if ( !checkCallingPermission( Manifest.permission.DUMP, "startViewServer" ) ) {        return false ;    }}


如果要在自己的手机正常地使用Hierarchy Viewer,有三种方法:

1、直接刷一个开发版本的Android固件(一般只有在手机开发公司才可以)

2、如果只需要查看自己开发的应用的UI变化,可以用GitHub上的一个项目ViewServer

3、如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: