为什么hierarchyviewer不适用于三星Galaxy TAB 7.0?

Har*_*iya 70 android galaxy-tab

我之前使用过hierarachyviewer,但在android模拟器上.当我在模拟器上使用它时,它工作得非常好.但是它不适用于搭载Android 2.3.4的三星Galaxy TAB 7.0.

这是我得到的日志

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
Run Code Online (Sandbox Code Playgroud)

我也没有在调试模式下使用hierarchyviewer,只是运行应用程序.谢谢.

new*_*rld 62

我找到了一个解决方法:https://github.com/romainguy/ViewServer

ViewServer是一个简单的类,您可以在Android应用程序中使用HierarchyViewer检查工具...

如果您确实需要此库,请按照以下说明操作:

  • 包括ViewServer库(此处有简单的指示)
  • 您的申请必须获得INTERNET许可
  • 建议使用此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);
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅ViewServer.java中的文档...

  • ....如果您正在使用不是开发人员电话的设备(即......您从商店或运营商网络购买它),这是可行的方法.真棒. (4认同)

Rho*_*500 50

请改用monitor-tool(android-sdk/tools/monitor).

连接到您的设备.如果无法连接,请先关闭Eclipse.

在设备选项卡中按"UI自动机的转储视图层次结构"按钮.它是屏幕捕获按钮旁边的一个.

自API级别16(Android 4.1)起作用.

  • 也可以从Eclipse中的DDMS角度获得. (13认同)
  • 这根本不是同一个工具. (6认同)

use*_*730 35

您只能在模拟器上使用HierarachyViewer和从谷歌购买的特殊开发者手机.

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

从上面链接引用

HierarchyViewer不适用于用户构建(即商店中可用的设备).这是出于安全原因.如果HiearchyViewer能够处理用户构建,则桌面上的任何应用程序(在某些情况下甚至在手机上)都可能访问私人信息(如登录名和密码).

  • CyanogenMod固件似乎开箱即用 (7认同)

sma*_*ver 20

我在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的回答很有用.


Srd*_*bor 6

几乎没有通用生产手机允许HierarchyViewer访问它们.通常,开发者手机和模拟器是唯一具有这些功能的手机和模拟器