【问题标题】:How to make "Hierarchy Viewer" work in a real device?如何让“Hierarchy Viewer”在真实设备上工作?
【发布时间】:2014-03-14 09:05:50
【问题描述】:

我是 android 开发的新手,我开始使用“Hierarchy Viewer”...它适用于 sdk 提供的模拟器。
问题是我想在真实设备上使用它。我进行了研究,发现出于安全原因,它仅适用于各种来源的模拟器和开发人员手机。

Official Android Developer Site

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

GitHub romainguy / ViewServer Link:

我的理解是有两件事要做......

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

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

在阅读java文件中的cmets的同时,我也明白了如何在onCreate里面使用addWindow方法和其他东西。

但即使在尝试将这个应用程序安装到我的设备中的所有这些之后,eclipse "Invalid APK File!"...对于真实设备和模拟器。

但是普通的应用程序可以在模拟器上运行,而不是在其中添加了这个java文件的应用程序!!!

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

如果可能的话,有人可以逐步解释我需要做什么吗?

【问题讨论】:

标签: java android android-sdk-tools hierarchyviewer


【解决方案1】:

ViewServer 仅适用于 Android 4.1 之前的无根设备。

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

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

【讨论】:

    【解决方案2】:

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

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

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

    只需使用 @HierarchyViewerSupport 注释您的活动:

    @HierarchyViewerSupport
     @EActivity
     public class MyActivity extends Activity {
    
     }
    

    我不确定老兄这能有多大帮助,根据你的问题,我做了一点 RnD,我认为它不可能在生产版本中作为你已经解释过的原因。

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

    试试上面的解决方案,如果有帮助,请告诉我们。

    【讨论】:

    • 请参考stackoverflow.com/questions/13244374/…,以防万一您需要一些现成的解决方案来使用python获取活动屏幕的小部件信息。
    • 很抱歉没有解决问题,但我至少可以为您的建议投票...
    • 我和一位传奇的 Android 开发者聊天,看看他要说什么... Pawan Arya 15:23 是否可以从生产构建设备中获取活动屏幕数据 Vinayak Wagh 15:24没有 Pawan Arya 15:24 Sure Vinayak Wagh 15:24 是的,因为你必须在那个应用程序上下文中,只有 Pawan Arya 15:25 好,没有其他出路 Vinayak Wagh 15:25 nahi Pawan Arya 15:25 好的,谢谢兄弟,直到您可以访问应用程序的应用程序上下文,这是不可能的。
    • 我在公司链接门户上与我的朋友聊天,由于堆栈溢出 @我的办公室被阻止... :)
    • 当设置 ANDROID_HVPROTO 时,这在我的 5.0 设备上有效。
    【解决方案3】:

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

    How to show hierarchy viewer in android device

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 2018-10-10
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多