无法启动Android Studio布局检查器: "意外错误:空视图层次结构"

42

无法在Android Studio 3.0 (Canary 3)上启动布局检查器

连接设备并运行应用程序后,选择工具 > Android > 布局检查器会出现以下错误对话框:

"获取视图层次结构时出错: 意外错误: 视图层次结构为空"

输入图像说明

我是否漏掉了任何设置? 我已在设备上启用开发人员选项。


你尝试过使用非金丝雀版本吗? - Enzokie
3
在Android Studio 3.1中遇到了同样的问题。 - Fatima
8
快到2019年了,他们仍然没有解决这个该死的问题。 - Kedar Paranjape
9个回答

11

通常当视图中有东西“移动”时,布局检查器无法检索到简单的布局,这就是为什么暂停视频会起作用,但如果你有更复杂的东西,比如相机预览或谷歌地图,就更难了,不确定如何解决这个问题。


3
谢谢!对我来说,这是Lotty动画。因此,我将动画比例更改为0以停止它。 - Shurov
1
是的,我也一样。一个 Lottie 动画导致视图一直在“变化”。 - Tobias Reich

6
如果你的代码中使用了ViewTreeObserver 来测量一个视图的宽度/高度,并且根据从addOnPreDrawListener接收到的结果更改一些宽度/高度/填充等内容;只需在onPreDraw内部进行注释或注释与ViewTreeObserver相关的所有代码。

4

当我播放视频时,无法启动层次结构查看器。一旦暂停视频,它就可以正常工作!


我也在生产环境的Android Studio 3.0中遇到了这个错误,在一个活动中,该活动具有来自相机的实时预览。到目前为止,我还没有能够想出解决方案。 - Antek

3

这可能与您的Android版本有关。例如,我的情况下,在Android 4上使用Genymotion时会出现此错误。升级到Android 5后,该错误消失了。


说得好。我从Android 6改成了7。问题解决了!谢谢。 - Fatima

2

我尝试过但没有成功的方法:

  • 杀掉adb进程并重试
  • 清除缓存并重新启动
  • 卸载应用程序,清理构建并重新构建
  • 断开设备并重新插入

最终我通过关闭开发者选项,然后再打开并启用USB调试成功解决了问题。

注:Original Answer翻译成“最初的回答”。


2

在我的情况下,我连接了两个设备,一个是实体设备,另一个是模拟器。我必须确保只有一个设备被连接。然后它就可以工作了。我使用的是Android Studio 3.2 Canary版本。


1

在Android Studio v2.3.3上遇到了相同的问题,问题与CountDownTimer对象有关,它会导致问题(可能是由于onTick方法)。 在注释掉它之后,我可以正常使用Layout Inspector。 也许你在你的代码中使用了类似的东西,尝试将其注释掉并查看是否起作用。


禁用所有计时器使其正常工作。感谢您的建议! - Thanh Nguyen Van

0

我遇到了同样的问题。

模拟器无法捕获层次结构。

我使用真实设备,它可以正常工作。


对我来说恰恰相反,模拟器可以工作但设备不能。 - Michael Osofsky

0

我把我的设备从Nexus 6换成了Pixel XL,然后它就可以工作了。

所以尝试更改您的设备,看看是否可以解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接