5

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

官方 Android 开发者网站

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

GitHub romainguy / ViewServer 链接:

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

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

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

在阅读java文件中的注释时,我也了解了如何使用addWindow里面的方法onCreate和东西。

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

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

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

如果可能的话,有人可以逐步向我解释所有需要做的事情吗?

4

3 回答 3

6

ViewServer仅在 Android 4.1 之前的无根设备上才需要。

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

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

于 2015-05-11T14:13:34.580 回答
3

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

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

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

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

@HierarchyViewerSupport
 @EActivity
 public class MyActivity extends Activity {

 }

我不确定伙计,根据你的问题,我做了多少 RnD,我认为这在生产版本上是不可能的,因为你已经解释过了。

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

试试上面的解决方案,让我们知道它是否有帮助。

于 2014-03-14T09:38:30.430 回答
1

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

如何在 android 设备中显示层次结构查看器

于 2015-10-22T11:31:26.790 回答