Как заставить работать "Иерархический просмотрщик" на реальном устройстве?
Я новичок в разработке Android Я начал использовать "Hierarchy Viewer"... он прекрасно работает с эмулятором, который поставляется с SDK.
Дело в том, что я хочу использовать это на реальном устройстве. Я сделал свое исследование и обнаружил, что по соображениям безопасности он работает только на эмуляторе и телефоне разработчика, из разных источников.
Официальный сайт разработчика Android
Но я также обнаружил, что используя "ViewServer.java" в нашем проекте, мы можем использовать этот инструмент на реальном устройстве.
https://github.com/romainguy/ViewServer:
Я понимаю, что нужно сделать 2 вещи...
Включить этот ViewServer.java в наш проект
Добавьте разрешение ИНТЕРНЕТ в манифесте. (
<uses-permission android:name="android.permission.INTERNET"/>
)
И, читая комментарии в файле Java, я также понял, как использовать addWindow
метод внутри onCreate
и прочее.
Но даже после всего этого, пытаясь установить это приложение на мое устройство, затмите "Invalid APK File!"... как для реального устройства, так и для эмулятора.
Но обычные приложения работают с эмулятором, а не приложение, добавленное с этим файлом Java в нем!!!
И кто-то, пожалуйста, объясните мне, если что-то еще нужно сделать. Поскольку у ссылки, которой я поделился, есть очень много других файлов, и я не уверен, что они и как их использовать. Все, что меня беспокоило, - это файл ViewServer.java.
Если это возможно, может кто-нибудь объяснить мне шаг за шагом, что нужно сделать?
3 ответа
ViewServer
требуется только на некорневых устройствах с Android старше 4.1.
Для устройств с Android 4.1+ все, что вам нужно, это установить ANDROID_HVPROTO=ddm
переменная среды и перезапустите сервер ADB.
Это одна из скрытых функций Android, которую можно найти в бесплатном курсе Udacity - " Производительность Android" (Урок 1: Рендеринг, 12-я часть "Пошаговое руководство по просмотру иерархии", ссылки под видео).
Попробуйте использовать HierarchyViewerSupport Annotation, но не уверены, насколько это будет полезно.
Эта аннотация @HierarchyViewerSupport позволяет использовать инструмент проверки HierarchyViewer на любом устройстве.
Убедитесь, что у вашего приложения есть доступ к Интернету и android:debuggable = true Manifest.
Просто аннотируйте свою деятельность с помощью @HierarchyViewerSupport:
@HierarchyViewerSupport
@EActivity
public class MyActivity extends Activity {
}
Я не уверен, чувак, насколько это может помочь, основываясь на твоем вопросе, который я сделал, и я думаю, что это невозможно на производственных сборках, как причина, которую ты уже объяснил.
В любом случае, если вам нужны подробности о вашем текущем экране активности, такие как информация о виджетах, и все, что вы можете получить, используя также скрипт Python, который я разработал, но, опять же, он не работает в рабочей сборке.
Попробуйте это решение выше и дайте нам знать, если это поможет.
Посмотрите на ссылку, приведенную ниже, она содержит подробную информацию о том, как включить просмотрщик иерархии на реальном устройстве.