hierarchyviewer不能用的解决办法

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.

猜你喜欢

转载自lxfgrace.iteye.com/blog/1821869
今日推荐