Как заставить Hierarchy Viewer работать на реальном устройстве?

Я новичок в разработке для Android. Я начал использовать "Hierarchy Viewer"... он отлично работает с эмулятором, который поставляется с sdk.
Дело в том, что я хочу использовать это на реальном устройстве. Я провел свое исследование и обнаружил, что из соображений безопасности он работает только на эмуляторе и телефоне разработчиков из разных источников.

Официальный сайт разработчиков Android

Но я также обнаружил, что, используя «ViewServer.java» в нашем проекте, мы можем использовать этот инструмент на реальном устройстве.

Ссылка GitHub romainguy/ViewServer:

Я так понимаю, что нужно сделать 2 вещи...

  1. Включите этот ViewServer.java в наш проект

  2. Добавьте разрешение INTERNET в манифест. (<uses-permission android:name="android.permission.INTERNET"/>)

И, читая комментарии в java-файле, я также понял, как использовать метод addWindow внутри onCreate и прочее.

Но даже после всего этого при попытке установить это приложение на мое устройство затмение «Неверный файл APK!» ... как для реального устройства, так и для эмулятора.

Но обычные приложения работают с эмулятором, но не приложение, добавленное с этим java-файлом!!!

И кто-нибудь любезно объясните мне, если что-то еще нужно сделать. Потому что ссылка, которой я поделился, содержит так много других файлов, и я не уверен, что это такое и как их использовать. Все, о чем я заботился, это файл «ViewServer.java».

Если возможно, может кто-нибудь объяснить мне шаг за шагом, что все это нужно сделать?


person Legendary Genius    schedule 14.03.2014    source источник
comment
Hierachy Viewer не совместим со старыми версиями Android. Какая версия вашего устройства работает?   -  person CaptainTeemo    schedule 25.11.2014


Ответы (3)


ViewServer требуется только на нерутированных устройствах с Android старше 4.1.

Для устройств с Android 4.1+ все, что вам нужно, это установить переменную окружения ANDROID_HVPROTO=ddm и перезапустить сервер adb.

Это одна из скрытых функций Android, которую вы нашли на бесплатном курсе Udacity — Android Performance (Урок 1: Рендеринг, 12-я часть «Пошаговое руководство по средству просмотра иерархии», ссылки под видео).

person Fenix Voltres    schedule 11.05.2015

Попробуйте использовать аннотацию HierarchyViewerSupport, но не уверены, насколько это поможет.

Эта аннотация @HierarchyViewerSupport позволяет использовать инструмент проверки HierarchyViewer на любом устройстве.

Убедитесь, что ваше приложение имеет разрешение INTERNET и android:debuggable = true Manifest.

Просто аннотируйте свою активность с помощью @HierarchyViewerSupport:

@HierarchyViewerSupport
 @EActivity
 public class MyActivity extends Activity {

 }

Я не уверен, чувак, насколько это может помочь, основываясь на твоем вопросе, который я сделал немного RnD, я думаю, что это невозможно в производственных сборках, как ты уже объяснил причину.

В любом случае, если вам нужны подробности экрана вашей текущей активности, такие как информация о виджетах и ​​все остальное, вы все равно можете получить ее с помощью скрипта Python, который я разработал, но опять же, он не работает в производственной сборке.

Попробуйте это вышеприведенное решение и сообщите нам, если оно поможет.

person Community    schedule 14.03.2014
comment
Пожалуйста, обратитесь к stackoverflow.com/questions/13244374/, на всякий случай, если вам нужно какое-то готовое решение для получения виджета информация об экране активности с использованием python. - person ; 14.03.2014
comment
Извините, это не решит проблему, но я могу, по крайней мере, проголосовать за ваши предложения... - person Legendary Genius; 14.03.2014
comment
Я разговаривал с одним из Legend of Android Developer, посмотрите, что он хочет сказать... Паван Арья 15:23 можно ли получить данные экрана активности с устройств производственной сборки Винаяк Ваг 15:24 нет Паван Арья 15:24 Конечно Винаяк Ваг 15:24 да, для этого ты должен быть только в этом контексте приложения Паван Арья 15:25 Окес, другого выхода нет Винаяк Ваг 15:25 нахи Паван Арья 15:25 ок, спасибо, братан Это невозможно, пока у тебя нет доступа в контекст приложения App. - person ; 14.03.2014
comment
Я болтал со своим другом на портале ссылок компаний, и невозможно общаться в чате о переполнении стека, так как он заблокирован в моем офисе... :) - person ; 14.03.2014
comment
Это работало на моем устройстве 5.0, когда настройка ANDROID_HVPROTO не работала. - person Matthew Read; 04.03.2016

Посмотрите ссылку ниже, в которой есть подробная информация о том, как включить средство просмотра иерархии на реальном устройстве.

Как отобразить средство просмотра иерархии на устройстве Android

person rana_sadam    schedule 22.10.2015