java - 如何使 "Hierarchy Viewer"在真实设备中工作?

标签 java android android-sdk-tools hierarchyviewer

我是 android 开发的新手,我开始使用“Hierarchy Viewer”...它与 sdk 附带的模拟器一起工作正常。
问题是我想在真实设备上使用它。我进行了研究,发现出于安全原因,它只能在各种来源的模拟器和开发者手机上运行。

Official Android Developer Site

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

GitHub romainguy / ViewServer Link:

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

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

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

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

但即使在尝试将此应用安装到我的设备中时,仍然会出现“无效的 APK 文件!”...对于真实设备和模拟器。

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

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

如果可能,有人可以逐步向我解释所有需要完成的工作吗?

最佳答案

ViewServer 仅在 Android 4.1 之前的非 root 设备上才需要。

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

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

关于java - 如何使 "Hierarchy Viewer"在真实设备中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22400400/

相关文章:

java - hadoop - java.lang.RuntimeException : java. lang.InstantiationException 异常

java - 小程序中使用GSON库时的反射权限问题

java - 使用 --launcher.ini 选项独立运行 Equinox

android - 以网关为中心的 BLE 多连接应用程序

java - ANDROID数据库找不到列_id,即使它是KEY_ID=_id

android - 通过 Python 从 Android 获取设备/型号信息

java - H2 数据库 : How to have lowercase for tablename?

android - Phonegap错误android sdk build.xml :950 : null returned: 1

android - SDK 管理器无法获取内容 - 与 https ://dl-ssl. google.com 的连接被拒绝

android - 通过 CLI 启动 API 级别 27 的模拟器,缺少 'x86' CPU 的模拟器引擎程序