공부하는 다락방

안드로이드 디버깅 플랫폼 본문

Android

안드로이드 디버깅 플랫폼

권파인 2017. 4. 7. 09:39

Stetho

facebook에서 만든 디버깅 플랫폼

크롬 브라우저에서 사용 가능 아래 주소로 접근하면 됩니다.

chrome://inspect


그러기 전에 build.gradle에서 아래와 같이 compile 추가해줍니다.

compile 'com.facebook.stetho:stetho:1.4.1'
compile 'com.facebook.stetho:stetho-js-rhino:1.4.1'


Setup

Application클래스의 onCreate()에 아래 코드 한줄만 넣어주면 됩니다.

Stetho.initializeWithDefaults(this);



기능 소개


Stetho로 할수있는 것들에 대해서 먼저 간략하게 소개해드린뒤 실제 적용하면서 확인할 수 있었던 것들에 대해서 자세히 살펴보도록 하겠습니다.




1. 네트워크

유틸성앱이 아닌이상 Retrofit이나 URLConnection을 사용해서 API서버와 네트워크 통신을 하고 계실겁니다.

이러한 통신에서의 Response값이나 Header값등등 네트워크의 진행상황에 대해서 궁금한 경우가 많습니다.

Stetho는 해당앱의 각각의 네트워크 통신의 정보를 상세하게 살펴볼 수 있습니다.



2. DB / SharedPreference / 기타 저장된 값

네 맞습니다. SQLite를 이용해서 DB에 저장하는경우 에뮬레이터는 DDMS로 해당 DB내용을 볼수 있지만 실기기는 그럴수 없었습니다..

SharedPreference나 쿠키,기타 값들은 아예 알수있는 방법이 없기때문에 항상 로그로 해당 값들을 찍어볼 수 밖에 없었습니다.

Stetho를 이용하면 해당 값들을 조회할수 있을뿐만 아니라 DB에 쿼리를 날려볼 수도 있고 값을 수정할 수도 있습니다.


3. 화면 레이아웃

xml이 실제 앱에서 화면으로 보여질때 어떠한 값들과 세팅들이 되어서 보여지는지 볼 수 있습니다.

또한 특정 View를 선택하면 해당 View가 휴대폰 화면에서 어디에 위치되어있는지 표시해서 보여주기도 합니다.



4. 콘솔

콘솔창에서 명령어 입력이 가능합니다.

앱안에서의 Resource값들을 가져오거나 앱에서 Toast창을 띄울수도 있습니다.



5. dumpapp

UI방식이 아닌 커맨드라인 입력방식으로 동작을 수행할수 있으며 값들을 조회하고 수정할수도 있고 미리 정의해둔 커스텀값들을 활용할 수도 있습니다.



출처: http://gun0912.tistory.com/69 [박상권의 삽질블로그]

Comments