ViewServer is a simple class you can use in your Android application
to use the HierarchyViewer inspection tool.
ViewServer requires the Android SDK r12 or higher.
http://developer.android.com/sdk/index.html
Please refer to the documentation in ViewServer.java for more info.
https://github.com/romainguy/ViewServer
Enable HierarchyViewer on production builds
For security reasons HierarchyViewer does NOT work on production builds. It works only with userdebug and engineering builds (this includes the emulator.)
In this case you’ve got the following errors:
[hierarchyviewer]Unable to get view server protocol version from device
[hierarchyviewer]Unable to debug device
But there is a way to enable the use of HierarchyViewer inside your own application. Romain Guy suggests to use ViewServer class: https://github.com/romainguy/ViewServer
The recommended way to use this API is to register activities when they are created, and to unregister them when they get destroyed:
public class MyActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set content view, etc.
ViewServer.get(this).addWindow(this);
}
public void onDestroy() {
super.onDestroy();
ViewServer.get(this).removeWindow(this);
}
public void onResume() {
super.onResume();
ViewServer.get(this).setFocusedWindow(this);
}
}
To use this view server, your application must require the INTERNET permission:
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
As a result you will be able to make HierarchyViewer work on any devices:
Sometimes it could be useful to build ViewServer as Library project, as described at: http://developer.android.com/tools/projects/projects-eclipse.html
And then just referencing it from your application like this:
And once again: do not forget to add INTERNET permission! Otherwise you will got some NullPointerExceptions with ServerSocket.
- 大小: 20.7 KB
- 大小: 5.7 KB
分享到:
相关推荐
2. 解决显示异常:当界面元素显示不正常时,HierarchyViewer可以帮助定位问题所在,例如元素重叠、隐藏、错位等。 3. 调整动画效果:在设计动画时,可以通过HierarchyViewer查看每个帧的变化,确保动画流畅自然。 ...
当开发者启动模拟器或连接真实设备后,通过运行`hierarchyviewer.bat`,即可打开工具并查看设备上的活动窗口。在主界面中,左侧显示的是选定窗口的树状布局结构,右侧上部则展示全局视图和选定视图在布局中的具体...
- HierarchyViewer只能在调试模式下使用,不能用于生产环境。 - 当App运行在Android 6.0及以上版本时,由于安全限制,可能需要在设备上开启“显示布局边界”选项才能捕获视图树。 - 请注意,HierarchyViewer不支持...
Hierarchy Viewer工具可以用来查看视图树(View Tree)并分析视图树中各个视图在测量、布局、绘制阶段所消耗的时间。通过该工具提供的信息,开发者可以找出视图树中那些不必要的视图以及性能瓶颈。在这个demo中,...
标题中的"ViewServer-解决View Hierarchy不能启动"便是为了解决这一问题,提供了一种替代方案。 `ViewServer`是一个开源项目,旨在替代过时的`Hierarchy Viewer`,它允许开发者在Android设备或模拟器上检查和调试...
- 如果Uiautomatorviewer仍然存在问题,可以考虑使用其他同类工具,如Appium的Inspector、Espresso的View Hierarchy Viewer(需要在代码中实现)或者用更现代的API如UiAutomator2来获取UI元素信息。 7. **解决方案...
然而,`Hierarchy Viewer`在Android 8.0(API级别26)及以上版本中已被弃用,取而代之的是`Layout Inspector`,但如果你正在使用较低版本的Android,`Hierarchy Viewer`仍然是一个有用的工具。 开启`View Server`的...
尽管直接在Android应用内部捕获元素面临诸多限制,但Android SDK中的hierarchyviewer工具为测试人员提供了一种解决方案。该工具可以在模拟器运行的情况下,将当前Activity上的元素以对象树的形式展示出来。通过这种...
需要注意的是,这些步骤涉及到的类和方法(如`startViewServer`, `loadScene`, `rootNode`等)都是hierarchyviewer提供的API接口,开发者需要熟悉这些接口的使用方法才能顺利完成自动化测试的编写工作。 总之,虽然...
1. HierarchyViewer:通过Android Studio提供的HierarchyViewer工具,可以实时观察ListView的渲染性能,找出性能瓶颈。 2. TraceView:使用TraceView分析代码执行时间,优化滑动流畅性。 总结,ListView上下滑动...
- **避免过度绘制**:通过工具如Android Studio的Hierarchy Viewer或Profile GPU Rendering检测并减少过度绘制。 - **使用异步加载和占位符**:对于大型视图或图片,使用异步加载和占位符可以防止主线程阻塞。 - **...
本文将详细介绍如何使用Hierarchy Viewer工具进行布局分析,并基于分析结果提出优化建议,帮助开发者创建更加流畅的应用体验。 #### 二、Hierarchy Viewer界面详解 Hierarchy Viewer(简称HViewer)是一款强大的...
尽管MonkeyRunner可以通过HierarchyViewer获得控件信息,但这一工具无法在非工程机器上使用。 从上述工具的选择上可以看出,没有完美的自动化测试框架。Robotium和Espresso能够跨分辨率执行测试脚本,但不具备跨...
7. **Hierarchy Viewer**:Hierarchy Viewer是UI设计和优化的利器,它可以可视化显示布局结构,帮助开发者检查布局性能,减少过度绘制,优化用户体验。 8. **Draw 9-Patch**:9-Patch是一种特殊的图片格式,允许...
这主要是因为 AS 4.0 的配置与之前的版本有所不同,不能简单沿用旧版本的配置文件。 - **解决方案**: - **选项一**:删除旧配置文件夹 `C:\Users\Administrator.AndroidStudio3.6\config`。 - **选项二**:...
开发者可能使用了Android的调试工具,如Hierarchy Viewer或Layout Inspector,来检查视图的布局和绘制过程。 至于"WorkImageViewForSendPic"这个文件名,可能是自定义ImageView类的源代码文件。在这个类中,开发者...
可以使用Android的调试工具,如Hierarchy Viewer或Systrace,来检查UI性能和线程同步。此外,查阅官方文档和其他开发者的经验分享也是解决问题的重要途径。 5. **项目文件分析**: 虽然没有提供具体的项目文件,但...
4. **DDMS与HierarchyViewer**:DDMS(Dalvik Debug Monitor Service)是Android的调试工具,可以用来查看设备的状态,包括进程、内存、文件流等。HierarchyViewer则用于查看Android应用的UI布局。在找不到对应资源...