层次结构不适用于我的设备
当我在terminal运行层次结构。 它可以显示它的界面,但不能连接到我的设备,并可以连接到虚拟仿真器。 这样在terminal上提醒我,
- Adb拒绝了设备172.18 ……未知主机服务的转发命令
- 缺less转发端口为172.18 …..
- 无法从设备172.18获取视图服务器协议版本….
它如何在层次结构查看器中显示我的设备的视图结构。 任何人都可以帮助我吗?或者任何知道在哪里可以find层次结构知识的人。 提前致谢。
出于安全原因,HierarchyViewer不适用于生产版本。 我写了一个API,可以让你在任何设备上使用HierarchyViewer和你的应用程序: https : //github.com/romainguy/ViewServer
对于任何使用Android 4.1或更高版本的人员,您可以通过将环境variablesANDROID_HVPROTO
设置为ddm
来使Hierarchy Viewer工作。
Mac OSX / Android Studio用户,请记住从命令行启动层次结构查看器,以便获取环境variables。 如果您使用Android Studio安装,您可以在/Users/<user>/Library/Android/sdk/tools
find它
https://developer.android.com/tools/performance/hierarchy-viewer/setup.html
Romain的ViewServer项目(见答案#1)对此很好。 我下载了代码,把项目变成了一个库项目,在我的应用程序中添加了一个依赖项到新的库项目中,并且从这个简单的类中将我的应用程序的基类Activity类更改为子类:
public class SimpleViewServerActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ViewServer.get(this).addWindow(this); } @Override protected void onDestroy() { super.onDestroy(); ViewServer.get(this).removeWindow(this); } @Override protected void onResume() { super.onResume(); ViewServer.get(this).setFocusedWindow(this); } }
现在我可以从Androiddebugging监视器的层次结构视图进行连接,并debugging我的布局。
一旦我select了工具 – > Android – >在Android Studio中启用ADB集成,层次结构查看器为我工作。
我有同样的问题,并最终在http://developer.android.com/tools/performance/hierarchy-viewer/setup.htmlfind答案。; 在ViewServer连接之前,需要在开发环境中设置一个环境variables。
我正在使用Android Studio 2.3.3。 结论是在这篇文章的结尾。
表示法:监视器= Android设备监视器工作室= Android Studio
在Android Studio的首选项 – >(构build,执行,部署) – >即时运行 – >取消选中即时运行。 否则,它会提示错误消息“应用程序安装失败”,我尝试了几种方法,而没有取消选中即时运行,但没有一个工作。 所以现在就取消即时运行。
(i)如果是生产版本(运行“应用程序”):
(1)如果我从“工具”的下拉菜单中勾选了“启用ADB集成”选项:
(a)从Studio直接打开监视器将工作和视图层次结构将显示在监视器,但它会提示消息“禁用ADB集成以下debugging会话将被closures:应用程序”(它说“debugging会话”,虽然我使用生产版本)。 注意closures监视器后,Studio的“Enable ADB Integration”选项将自动再次被选中。
(b)从Bash打开监视器会提示错误消息“ddms,无法打开选定的虚拟机debugging端口(870)”,但只需手动取消选中“启用ADB集成”选项将解决问题,并显示查看层次结构。
(2)如果我没有勾选“启用ADB集成”选项:直接从Studio和Bash打开监视器都可以工作,不需要额外的操作。
(ii)如果它是debugging构build:我必须启用ADB集成才能启动debugging,因此将选中“启用ADB集成”选项。 Studio在我的手机中安装了应用程序后:那么在(i) – (1)部分中的行为完全相同。 换句话说,对于“查看层次结构”目的,启动debugging构build与选中“启用ADB集成”选项来启动生产构build相同。
总之:要安装应用程序,需要取消选中“即时运行”(请参阅报告顶部的说明)。 要在监视器中显示View Hierarchy,需要取消选中“启用ADB集成”。 打开监视器从bash和从工作室都工作。 debugging构build和生产两个工作。