如何使“层次结构查看器”在真实设备中工作?

时间:2014-03-14 09:05:50

标签: java android android-sdk-tools hierarchyviewer

我是Android开发的新手,我开始使用“层次结构查看器”...它可以与sdk提供的模拟器一起使用。
问题是我想在真实设备上使用它。我已经进行了研究,发现由于安全原因,它仅适用于各种来源的模拟器和开发人员手机。

Official Android Developer Site

但我也发现通过在我们的项目中使用“ViewServer.java”,我们可以在真实设备上使用此工具。

GitHub romainguy / ViewServer Link:

据我所知,有两件事要做......

  1. 将此ViewServer.java包含到我们的项目中

  2. 在清单中添加INTERNET权限。(<uses-permission android:name="android.permission.INTERNET"/>

  3. 在阅读java文件中的评论时,我也了解了如何在addWindow内使用onCreate方法和东西。

    但是,即使在尝试将此应用程序安装到我的设备中之后,eclipse“无效的APK文件!”...对于真实设备和模拟器。

    但是普通的应用程序可以与模拟器一起使用,但不能使用此java文件添加的应用程序!!!

    如果还有其他事需要,有人会向我解释。因为我共享的链接有很多其他文件,我不确定它们是什么以及如何使用它们。我所关心的只是其中的“ViewServer.java”文件。

    如果有可能,有人可以一步一步地解释我需要做些什么吗?

3 个答案:

答案 0 :(得分:5)

仅在Android版本低于4.1的非root设备上才需要

ViewServer

对于使用Android 4.1+的设备,您只需设置ANDROID_HVPROTO=ddm环境变量并重新启动adb服务器。

这是隐藏的Android功能之一,在免费的Udacity课程中找到它 - Android Performance(第1课:渲染,第12部分“层次结构查看器演练”,视频下方的链接)。

答案 1 :(得分:3)

尝试使用HierarchyViewerSupport Annotation但不确定它有多大帮助。

此@HierarchyViewerSupport批注允许您在任何设备上使用HierarchyViewer检查工具。

确保您的应用程序具有INTERNET权限并且android:debuggable = true Manifest。

使用@HierarchyViewerSupport注释您的活动:

@HierarchyViewerSupport
 @EActivity
 public class MyActivity extends Activity {

 }

我不确定老兄,基于你的问题我可以帮助多少RnD,我认为它不可能在生产版本中作为你已经解释的原因。

无论如何,如果您想要了解当前活动屏幕的详细信息,例如有关小部件的信息,您仍然可以使用我自己开发的Python脚本获取它,但同样它不适用于生产构建。

尝试以上解决方案并告知我们是否有帮助。

答案 2 :(得分:1)

看一下下面的链接,它有关于如何在实际设备中启用层次结构查看器的详细信息

How to show hierarchy viewer in android device