为什么层次结构查看器不适用于三星Galaxy TAB 7.0



我之前使用过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,只是运行应用程序。谢谢。

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

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

  • 验证您是否需要此库(较新版本的 Android 不需要(

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

  • 包括视图服务器库(在此处找到简单的说明(
  • 您的应用程序必须需要互联网权限
  • 使用此 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( 开始工作。

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

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

引用上面的链接

HierarchyViewer 不适用于用户构建(即设备( 在商店有售。这是出于安全原因。如果 HiearchyViewer 能够处理用户构建,桌面上的任何应用程序(或 在某些情况下即使在电话上(也有可能访问 私人信息(如登录名和密码(。

我在最大操作系统中解决了问题

此处记录了此ANDROID_HVPROTO解决方案:

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

然后尝试关闭安卓工作室

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

并向我启动监视器工作!

答案是:

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

@ozodrukh的回答是有用的。

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

我在

4.1 Android手机上遇到了类似的问题。在代码中使用 ViewServer。

在签入层次结构查看器之前,只需通过执行重新启动adb服务器一次即可。

官方文档:优化你的UI是这样说的:

为了保证安全性,层次结构查看器只能连接到运行开发者版 Android 系统的设备。

使用层次结构查看器分析布局:

设置环境变量

ANDROID_HVPROTO=ddm

因此[andrid-sdk]/tools文件夹中在命令行中运行以下命令:

set ANDROID_HVPROTO=ddm
hierarchyviewer

或者把set ANDROID_HVPROTO=ddm放在hierarchyviewer.bat

.

相关内容

  • 没有找到相关文章

最新更新