Не удалось запустить Android Studio Layout Inspector: "Непредвиденная ошибка: пустая иерархия представления"
Не могу запустить Layout Inspector на Android Studio 3.0 (Canary 3)
При подключении к моему устройству и работающему приложению, выбрав "Инструменты"> "Android"> "Layout Inspector", появляется следующее диалоговое окно с ошибкой:
"Ошибка получения иерархии представлений: непредвиденная ошибка: пустая иерархия представлений"
Какие-либо настройки мне не хватает? У меня включены параметры разработчика на устройстве.
6 ответов
В общем, у меня такое поведение, когда что-то "движется" в представлении, поэтому инспектор макетов не может извлечь простой макет, поэтому приостановка видео будет работать, но если у вас есть что-то более сложное, например, предварительный просмотр с камеры или сложнее Google Map, не уверен, как обойти это
Если у вас есть ViewTreeObserver
в вашем коде, чтобы измерить ширину / высоту вида, и вы меняете некоторую ширину / высоту / отступы / и т.д. в соответствии с результатом, который вы получаете от addOnPreDrawListener
ViewTreeObserver;
Просто прокомментируйте внутри onPreDraw
или прокомментируйте весь код, связанный с ViewTreeObserver
,
Я не могу запустить просмотрщик иерархии во время воспроизведения видео. Как только я приостанавливаю видео, оно работает!
Это может быть связано с вашей версией Android. Например, в моем случае эта ошибка возникает на Genymotion на Android 4. После перехода на Android 5 эта ошибка исчезла.
То, что я пробовал и не сработало:
- убить процесс ADB и попробовал еще раз
- очистка кеша и перезагрузка
- удаление приложения, очистка сборки и повторная сборка
- отключите устройство и подключите его снова
Наконец мне удалось решить эту проблему, отключив параметры разработчика, а затем включив его + включив отладку по USB.
В моем случае у меня было два подключенных устройства, одно устройство и эмулятор. И я должен был убедиться, что подключено только одно устройство. Тогда это сработало. Я был на Android Studio 3.2 Canary.
У той же проблемы на Android Studio v2.3.3, проблема была связана с объектом CountDownTimer, так или иначе это вызвало проблему (вероятно, из-за метода onTick). После комментирования я обычно мог использовать Layout Inspector. Может быть, вы используете что-то подобное в своем коде, попробуйте закомментировать это и посмотреть, если работает.
Я сменил свое устройство с Nexus 6 на Pixel XL. Тогда это сработало.
Поэтому попробуйте сменить устройство и посмотрите, решит ли это проблему.
Была такая же проблема.
Не удалось захватить иерархию на эмуляторе.
Я использовал реальное устройство, и оно работало нормально.