본문 바로가기

Android

[ADB] 현재 화면에 표시되는 액티비티가 알고싶다면?

안드로이드 앱 개발을 하다보면, 다른 사람의 소스를 받아서 개발해야 할 때가 있습니다. 그럴 때는 그 소스를 분석부터 해야겠죠. 


현재 화면에 떠있는 내용이 어떤 액티비티인지 확인할 수 있다면 굉장히 유용할겁니다.  ADB를 이용하여 현재 어떤 액티비티가 실행 중인지 알 수 있습니다.



방법1:  adb dumpsys activity


액티비티와 관련된 많은 정보를 얻을 수 있는데, 그 중 액티비티 스택(현재 어떤 액티비가 표시되고 있는지, 그리고 그 액티비티를 호출한 액티비티는 어떤 것인지)를 알 수 있습니다. 다음 굵은 글씨 부분을 확인하면 됩니다.



Running activites (most recent first):

 TaskRecord{ ~~}

  Run #2: HistoryRecord{ ~~ com.kou.example/.ui.MainActivity2 }

  Run #1: HistoryRecord{ ~~ com.kou.example/.ui.MainActivity1 }

...

...


 



방법2: 만약 맥북이나 리눅스 환경에서 개발하고 있다면,  grep (검색 내용 안에서 검색하기) 기능을 이용해서 훨씬 유용한 정보를 얻을 수 있습니다.


adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'


이렇게 하면 현재 포커스 된 액티비티 하나만 출력됩니다.