본문 바로가기
Android

ADB(Android Debug Bridge) 기본 명령어 Part.1

by Ate1es 2021. 8. 5.

1. adb shell -- 연결되어있는 애뮬레이터나 USB장치의 쉘을 연결합니다. 

 

현재 녹스를 사용하여 한개의 가상 애뮬레이터를 실행하고 있는 상태입니다.

 

아래와 같이 adb shell 명령어를 입력하면 해당 실행되고 있는, 애물레이터의 shell로 접속합니다. [ 기본 리눅스 명령어 수행하여 분석 가능 ]

 

2. 로그캣을 이용한 로그 분석

 

명령어 : logcat [<option>] ... [<filter-spec>]

 

해당 명령어를 실행후 종료하지 않으면 실시간 로그도 확인가능합니다.

 

해당 로그들이 표시되는 방법을 살펴보면, 

 

먼저 시간이 쭉 나오고, 그다음 영어 대문자가 나옵니다.

해당 대문자뒤의 단어는 <태그>라고 합니다. 태그는 시스템 구성 요소를 나타내는 짧은 문자열이며, 로그 메시지를 구분하기 위해 사용됩니다. ex) vold, DHCP

 

태그는 로그에서 최우선순위를 가집니다.

그 다음 우선순위는 로그 메시지의 가장 앞에 1개의 대문자로 표시되며, 그 종류는 다음과 같습니다. ex) D V I

 

V - Verbose(가장 일반적인 수준)

D - Debug

I - Info

W - Warning

E - Error

F - Fatal

S - Silent(가장 높은 우선순위)

 

그리고 logcat에는 여러가지 필터링 기능이 있습니다.

 

필터링 형식은 --> tag:priority 로 구성되어 있으며, 우선순위는 최소한의 등급을 의미합니다.

 

따라서 이 우선순위를 기준으로 상위 우선순위를 갖는 메시지는 모두 출력합니다.

 

 

 

필터링 구문은 단일 표현을 여러 번 설정할 수 있으며, 각 구문을 공백으로 구별합니다.

 

ex) logcat ActivityManager:I art:I *:S

 

위 명령은 ActivityManager art 태그 중 I(info)나 그 이상의 우선순위를 갖는 항목을 출력하고,

여기에 *:S 구문을 포함하여 모든 메시지가 출력되지 않도록 하고, 앞에 설정했던 항목들만 출력합니다.

 

즉, 앞의 두 태그를 갖고,< I >우선순위를 갖는 항목만을 출력합니다.

 

 

3. bugreport 명령어를 이용한 버그 보고서 확인

 

bugreport 명령어는 dumpsys, dumpstate 및 logcat 명령어의 결과를 한 번에 출력합니다.

아래와 같이, 명령어를 입력하면 .zip파일이 리턴됩니다.

 

해당 파일을 열어보면, 다양한 정보를 확인할 수 있습니다.