2013년 1월 23일 수요일

[Android] Hierarchy Viewer를 사용 하려면..

* Android app.의 layout 구조가 어떻게 되는지 궁금하여, HierarchyViewer를 이용해 보려고 한다.

* hierarchyviewer.bat 를 실행시키는 순간... 아래와 같은 에러 등장...

[hierarchyviewer]Unable to get view server protocol version from device 
[hierarchyviewer]Unable to debug device

음... 뭘까.. 전엔 잘 되었던 것 같은데..

이래 저래 찾다가 아래 사이트를 발견..

Reference (Thanks to Julia)..

Enable HierarchyViewer on production builds


http://jmlinnik.blogspot.ro/2012/08/enable-hierarchyviewer-on-production.html

음.. 그렇구나...

단말이 production build가 된 경우에는 동작을 안한다.

userdebug build나 engineering build가 된 경우에만 동작을 한다.
(예전에 잘되었던 것은 userdebug로 빌드를 한 것 같다).

위의 link에서처럼 RomainGuy의 ViewServer 소스를 받아서 해본다.

소스는 git hub 에 올려져 있음.
https://github.com/romainguy/ViewServer

App. 소스에서 3군데에 추가해 주면 끝나는군...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 permission을 추가해 줘야 한다..

1
2
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>



블로그에 올려준 Julia에게 감사하고, 소스를 올려준 RomainGuy에게도 고마움을 느낀다..

소소한 것이라 생각했다가 막상 찾으려니 도움이 되어 좋다...


댓글 없음:

댓글 쓰기