一直在某厂内部使用研发样机开发,今天回家想用HierarchyViewer抓个布局,发现居然抓不出来,于是有了这篇。
报错信息,大概如下:
[hierarchyviewer]Unable to get view server version from device xxxxxxx
[hierarchyviewer]Unable to get view server protocol version from device 0
上网查原因,大致是Android系统出于安全考虑,Hierarchy Viewer只能连接开发版手机或模拟器。可以参见: http://blog.csdn.net/autumn_xl/article/details/40741835
解决方案嘛,其实不必root手机(当然,root也可以,见上面的链接)。
有高人给出了另一种方案。
https://github.com/romainguy/ViewServer
具体步骤为,
从https://github.com/romainguy/ViewServer下载ViewServer.java到本地
在Activity中增加如下代码:
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);
}
}
- Internet权限也是必要的
<uses-permission android:name="android.permission.INTERNET"/>
这里要感谢另一位博主的帖子 http://lxfgrace.iteye.com/blog/1821869。他的帖子里面附加了效果图。
以上。