Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么hierarchyviewer不适用于三星Galaxy TAB 7.0?_Android_Galaxy Tab - Fatal编程技术网

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

Android 为什么hierarchyviewer不适用于三星Galaxy TAB 7.0?,android,galaxy-tab,Android,Galaxy Tab,我之前使用过hierarachyviewer,但是在android模拟器上。当我在模拟器上使用它时,它工作得非常好。但是,它不适用于三星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 serve

我之前使用过hierarachyviewer,但是在android模拟器上。当我在模拟器上使用它时,它工作得非常好。但是,它不适用于三星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,只是在运行应用程序。
谢谢。

您只能在从谷歌购买的emulator和special developer手机上使用HierarachyViewer

从上面的链接引用

HierarchyViewer不适用于用户构建(即使用设备 这是出于安全考虑。如果教主 能够处理用户构建、桌面上的任何应用程序(或 甚至在某些情况下通过电话)也有可能访问 私人信息(如登录名和密码。)


几乎没有一部普通生产手机允许HierarchyViewer访问它们。通常,开发人员手机和模拟器是唯一具有这些功能的设备。

我找到了一个解决方法:

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);
        }
    }
    
有关更多信息,请参阅ViewServer.java中的文档


改用监视器工具(
android sdk/tools/monitor

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

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


从API级别16(Android 4.1)开始工作。

类似于我在4.1 Android手机上遇到的问题。请在代码中使用


在检查Hierarchy viewer之前,只需重新启动adb服务器一次即可。

我在max os中解决了这个问题

此ANDROID_HVPROTO解决方案记录如下:

然后尝试关闭Android Studio

运行adb终止服务器、adb启动服务器

和我一起工作吧

答案是:


@ozodrukh的回答很有用。

官方文件:如是说:

为了保护安全性,Hierarchy Viewer只能连接到运行Android系统开发者版本的设备

:

设置环境变量

ANDROID_HVPROTO=ddm
因此,从
[andridsdk]/tools
文件夹中,在命令行中运行以下命令:

set ANDROID_HVPROTO=ddm
hierarchyviewer

或者在
hierarchyviewer.bat

中设置ANDROID\u HVPROTO=ddm,谢谢用户1378730!!也许,我需要买一个。:)谢谢Srdjan!!你的回答很有帮助。。。。如果您正在开发的设备不是开发者手机(即,您是从商店或运营商网络购买的),这是一种方法。太棒了,谢谢。您只需要在项目源代码中添加太多的ViewServer.java,并在代码中添加几个方法即可启用ViewServer。还可以将Internet权限添加到清单中。如果您的所有活动都有基本活动类,则很容易实现。也可以从Eclipse中的DDMS透视图中获得。这根本不是同一个工具。哇,这个工具应该出现在所有Android入门文档中。看来三星对Android内核的定制有点太多了!我在Galaxy Tab中的GSM功能也有问题。可能是Hi small silver的副本,如果您认为这是解决方案,请在ozodurkh的答案中添加报价。这将保持您的有效,即使该URL某一天变得无效嘿,怎么做?“在开发计算机上设置环境变量ANDROID_HVPROTO=ddm。”