Intereting Posts
Android против Linux для встроенного приложения для сенсорного экрана Как обеспечить и обрабатывать глубокие ссылки в приложениях cordova / phonegap Проект Unity как зависимость в Gradle Почему при добавлении фрагмента вы проверяете для savedInstanceState == null? Android – Eclipse: Keystore был изменен, или пароль был неправильным Android SDK в Eclipse дает ошибку об истекшем сертификате LocationListener NETWORK_PROVIDER включен, но onLocationChanged никогда не вызывается FindViewById в фрагменте Как отключить ландшафтный режим в режиме React Native Android dev? Как Android может передавать локальное имя BLE, как в iOS? Android обрабатывает обновления приложений и изменения базы данных Должны ли приложения Android с компонентом на стороне сервера напрямую обращаться к Facebook? Разрешения Marshmallow, не работающие для TargetVersion ниже 23 Как исправить eror app \ build \ intermediates \ res \ merged \ debug \ values-v24 \ values-v24.xml Как проверить ресурс Android Asset?

Иерархия для моего устройства не работает

Когда я запускаю иерархию в терминале. Он может показать интерфейс, но не может подключиться к моему устройству. И он может подключиться к виртуальному эмулятору. Это напоминает мне в терминале,

  1. Adb отклонил команду forward для устройства 172.18 …… неизвестная хост-служба
  2. Отсутствует передний порт для 172.18 …..
  3. Не удалось получить версию protocal версии от устройства 172.18 ….

Как он может показать мою структуру представления моего устройства в средстве просмотра иерархии. Может ли кто-нибудь помочь мне или любому, кто знает, где найти знания об иерархии. заранее спасибо.

Solutions Collecting From Web of "Иерархия для моего устройства не работает"

По соображениям безопасности HierarchyViewer не работает с производственными сборками. Я написал API, который позволяет использовать HierarchyViewer на любом устройстве с вашим приложением: https://github.com/romainguy/ViewServer

Для тех, кто работает с Android 4.1 или новее: вы можете заставить Hierarchy Viewer работать, установив переменную окружения ANDROID_HVPROTO в ddm .

Пользователи Mac OSX / Android Studio не забудьте запустить средство просмотра иерархии из командной строки, чтобы он мог выбрать переменную окружения. Если вы установили его в Android Studio, вы можете найти его в /Users/<user>/Library/Android/sdk/tools

https://developer.android.com/tools/performance/hierarchy-viewer/setup.html

Проект ViewServer от Romain (см. Ответ №1) отлично подходит для этого. Я загрузил код, превратил проект в проект библиотеки, добавил зависимость в своем приложении к новому проекту библиотеки и изменил базовый класс активности моего приложения на подкласс из этого простого класса:

 public class SimpleViewServerActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ViewServer.get(this).addWindow(this); } @Override protected void onDestroy() { super.onDestroy(); ViewServer.get(this).removeWindow(this); } @Override protected void onResume() { super.onResume(); ViewServer.get(this).setFocusedWindow(this); } } 

Теперь я могу подключиться к представлению иерархии Android Debug Monitor и отладить мой макет.

Средство просмотра иерархии работало для меня, как только я выбрал Инструменты -> Android -> Включить интеграцию ADB в Android Studio.

У меня была та же проблема и, наконец, нашла ответ на http://developer.android.com/tools/performance/hierarchy-viewer/setup.html . Существует переменная окружения, которая должна быть установлена ​​в вашей среде разработки до подключения ViewServer.

Я использую Android Studio 2.3.3. Вывод в конце этого поста.

Обозначения: Monitor = Android Device Monitor Studio = Android Studio

В настройках Android Studio -> (сборка, выполнение, развертывание) -> Instant Run -> снимите флажок Instant Run. В противном случае он выдает сообщение об ошибке «Ошибка установки приложения», и я пробовал несколько способов, не снимая моментальный запуск, но ни один из них не работает. Поэтому просто снимите флажок «Мгновенный запуск».

(I) Если это производственная сборка (Run 'app'):

(1) Если я поставлю галочку в опции «Включить интеграцию ADB» в раскрывающемся меню «Инструменты»:

(А) Открытие монитора непосредственно из Studio будет работать, и иерархия представлений будет отображаться в мониторе, но она предложит сообщение «Отключить интеграцию ADB. После завершения сеансов отладки: приложение» (он говорит «сеанс отладки», хотя я Используя производство). Уведомление. После закрытия монитора параметр «Включить интеграцию с ADB» будет автоматически проверяться Studio.

(B) Открытие монитора из Bash вызовет сообщение об ошибке «ddms, не сможет открыть выбранный порт отладки VM (870)», но просто ручное снятие флажка «Включить интеграцию с ADB» устранит проблему, и отобразит View Hierarchy.

(2) Если я не установил галочку в опции «Включить интеграцию с АБР»: открытие монитора непосредственно из Studio и из Bash работает, никаких дополнительных операций не требуется.

(Ii) Если это отладочная сборка: я должен включить интеграцию ADB для запуска отладки, поэтому будет включена опция «Включить интеграцию ADB». После того, как Studio установила приложение в моем телефоне: тогда поведение точно так же в разделе (i) – (1). Другими словами, для задачи «Просмотр иерархии» запуск сборки отладки совпадает с запуском сборки сборки с опцией «Включить интеграцию ADB».

В заключение: для установки приложения необходимо отключить «Мгновенный запуск» (см. Инструкцию в верхней части отчета). Чтобы показать «Просмотр иерархии в мониторе», необходимо отключить «Включить интеграцию ADB». Открытие монитора из bash и из Studio работает. Отладка Build and production build обе работают.