Почему hierarchyviewer не работает для Samsung Galaxy TAB 7.0?


я использовал hierarachyviewer ранее, но на эмуляторе android. Он работает абсолютно нормально, когда я использую его на эмуляторе. Однако он не работает с Samsung Galaxy TAB 7.0, с Android 2.3.4.

Это журнал, который я получаю

11:04:22 E/hierarchyviewer: Unable to get view server version from device 303599
64881B00EC
11:04:22 E/hierarchyviewer: Unable to get view server protocol version from devi
ce 30359964881B00EC
11:04:24 E/hierarchyviewer: Unable to debug device 30359964881B00EC
11:05:05 E/hierarchyviewer: Unable to get view server version from device 303599
64881B00EC
11:05:05 E/hierarchyviewer: Unable to get view server protocol version from devi
ce 30359964881B00EC
11:05:07 E/hierarchyviewer: Unable to debug device 30359964881B00EC
11:09:38 E/hierarchyviewer: Unable to get view server version from device 303599
64881B00EC
11:09:38 E/hierarchyviewer: Unable to get view server protocol version from devi
ce 30359964881B00EC
11:09:40 E/hierarchyviewer: Unable to debug device 30359964881B00EC

Я также не использовать hierarchyviewer в режиме отладки, просто запустив приложение. Спасибо.

7 66

7 ответов:

Я нашел обходной путь: https://github.com/romainguy/ViewServer

ViewServer-это простой класс, который вы можете использовать в своем приложении Android для использования инструмента проверки HierarchyViewer...

Если вам нужна эта библиотека, то следуйте этим инструкциям:

  • включить библиотеку ViewServer (легко направления найдены здесь)
  • ваше приложение должно требовать разрешения на доступ в интернет
  • рекомендуемый способ использования этого API-это регистрация действий при их создании и отмена регистрации при их уничтожении:

    public class MyActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // Set content view, etc.
            ViewServer.get(this).addWindow(this);
        }
    
        public void onDestroy() {
            super.onDestroy();
            ViewServer.get(this).removeWindow(this);
        }
    
        public void onResume() {
            super.onResume();
            ViewServer.get(this).setFocusedWindow(this);
        }
    }
    

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

вместо этого используйте инструмент monitor-tool (android-sdk/tools/monitor).

подключение к устройству. Закройте Eclipse, если вы не можете подключиться.

нажмите "Просмотр иерархии сброса для кнопки пользовательского интерфейса автоматизаторов" в устройства "-вкладка". Его один рядом с кнопкой захвата экрана.

работает с уровня API 16 (Android 4.1).

вы можете использовать только HierarachyViewer на эмуляторе и специальных телефонах разработчика, купленных у google.

http://groups.google.com/group/android-developers/browse_thread/thread/b0b0af7a316ca768

цитата из ссылки выше

HierarchyViewer не работает на пользовательских сборках (т. е. с устройствами доступно в магазинах.) Это из соображений безопасности. Если HiearchyViewer смог работать над пользовательскими сборками, любым приложением на вашем настольный или даже по телефону в некоторых случаях) потенциально может получить доступ к личную информацию (например, логины и пароли.)

Я решил вопрос в max os

Это решение ANDROID_HVPROTO описано здесь:

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

затем попробуйте закрыть Android Studio

запустите ADB kill-server, adb start-server

и запустить монитор работы для меня!

ответ :

https://github.com/romainguy/ViewServer/issues/14#issuecomment-75354479

ответ @ ozodrukh полезен.

почти никакие телефоны общего производства не позволят HierarchyViewer получить к ним доступ. Обычно телефоны разработчиков и эмуляторы являются единственными с этими функциями.

аналогичная проблема у меня была на 4.1 телефон.Используйте ViewServer в коде.

перед проверкой в Hierarchy viewer, просто перезапустите adb server один раз, делая.

официальные документы:оптимизация пользовательского интерфейса сказал так:

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