Mac下Hierarchy View使用问题

1,109 阅读2分钟

Hierarchy View是Andorid开发者查看界面布局层级深度以及绘制时长的可视化工具,是日常UI优化不可或缺的工具之一,但使用过程中总不可避免的会遇到一些阻碍我们前进的问题,下面把我使用Hierarchy View时遇到的问题总结一下

问题一

Mac版本可以在tools工具下直接启动monitor,当然在启动前我们需要先配置Java的环境,否则启动会失败。Mac下的Java配置这里就不叙述了,大家可自行查找相关资料。

下面我遇到的第一个问题则是,在Java环境配置完成后,启动mobitor时出现报错弹框提示:Failed to create Java Virtual Machines,此时心里一万只**马跑过,此时认真的看了下启动时终端窗口中的提示,提示内容为“/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home/lib/libserver.dylib No such file”

然后去到jdk的目录下查看,的确没有对应的文件,因为JDK8安装时是不带有这个文件的。万幸在度娘那找到了解决方案,需要通过sudo ln -s给两个地址建立符号链接,它会在你选定的位置上生成一个文件的镜像,且不会占用磁盘空间,指令如下:

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home/lib/libserver.dylib

执行指令之后,再启动monitor,无报错弹窗,正常进入页面

问题二

monitor正常启动了,兴致勃勃的打开Hierarchy View界面,连上真机,打开页面,但等了半天界面上只有设备信息,无法选择想要分析的界面。然后低头一看,Hierarchy View的concole中飘着几句红色的提示:

[hierarchyviewer]Unable to  get view server version from device xxxxx
[hierarchyviewer]Unable to  get view server protocol version from device  xxxxx
[ViewServerDevice]Unable to  debug device: xxxxx
[hierarchyviewer]Unable to  get the focused window from device  xxxxx

于是继续度娘、谷哥等寻找解决方案,下面是最终尝试后有效的方法,方案如下, 需要在环境变量的配置文件中加入下面这句代码:

export ANDROID_HVPROTO=ddm

然后继续重启monitor,进入Hierarchy View界面,结果终于能选择需要分析的界面啦!!!

image.png