Warning
해당 글은 1. 디바이스 설정 및 Emulator 설정 위 글을 읽고 온 사람들을 대상으로 작성된 글입니다. 혹시나 해당 글을 아직 읽지 않고 오셨다면 읽고 환경 설정이 끝난 다음에 오시는걸 추천합니다.
Android Debug Bridge
android debug bridge란
1. 명령어
현재 구동중인 디자인 확인
adb devices [-l]- 현재 구동중인 가상 디바이스 확인
-l: 디바이스 이름 확인
셸 접속
adb shell [command]adb shell명령어를 통해 가장 디바이스 셸 접속이 가능- 만약 셸 접속 없이 명령어 실행하고 싶다면 뒤에 command를 붙여서 사용하면 된다!
파일 다운 혹은 전송
adb push [local] [remote]
adb pull [remote] [local]adb push의 경우 노트북에 있는 파일을 가상 디바이스로 전송하는 명령어/data/local/tmp/여기로 자주 보냄
adb pull의 경우 push의 반대로 가상 디바이스에 파일을 노트북으로 다운로드
apk 패키지 설치 및 삭제
adb install [apk]
adb uninstall [apk]- 기기에 패키지 이름에 해당하는 앱을 설치 혹은 삭제한다.
frida-server 접속
adb forward [local] [remote]- 기기 내의 포트를 로컬호스트로 연결한다.
기타
# 앱의 크래시 혹은 의도대로 작동하지 않을때 보는 logcat 보는 명령어
adb logcat
# adb 명령어 보기
adb helpPM(Package manager)
Package Manager 도구로 명령어를 실행하여 가상 기기에 설치된 앱 패키지에 관한 작업 및 쿼리를 실행할 수 있습니다.
패키지 리스트 출력
pm list packages [-f]pm list packages는 기기에 설치된 패키지를 모두 조회하는 명령어이다.-f: 파일 경로추가 하고 싶은 경우
패키지 설치 및 삭제
pm install/uninstall [package]- 기기 내의 패키지를 설치하거나 삭제할 때 사용하는 명령어
Note
pm이라는 명령어는 가상의 기기 내에서 사용하는 명령어이므로, 위에서 사용했던
adb shell을 사용해서 가상 기기에 접속해야 한다.
# 추가적인 명령어를 더 알고 싶은 경우
pm helpActivity manager
Activity 도구로 명령어를 실행하여 액티비티 시작, 프로세스 강제 종료, 인텐트 브로드캐스트, 기기 화면 속성 수정 등 다양한 시스템 작업을 실행할 수 있습니다.
액티비티 실행
am start-activity [options] <intent>지정한 액티비티를 실행합니다.
<intent>의 구성은 명령어 표 하단 옵션 표에서 확인할 수 있습니다.
브로드캐스트 인텐트 실행
am broadcast [options] <intent>지정한 브로드캐스트 인텐트를 실행합니다.
- 브로드캐스트로 전달할 데이터와 대상 인텐트를 설정할 수 있습니다.
패키지 관련 프로세스 종료
am kill [options] package전달된 패키지와 관련된 모든 프로세스를 종료합니다.
옵션
| 옵션 | 옵션 설명 |
|---|---|
| -a | 액션을 지정합니다. |
| -d | 데이터 URI를 지정합니다. |
| -n | 컴포넌트 이름을 지정합니다. 컴포넌트 이름은 패키지 이름과 액티비티 이름으로 구성됩니다. |
| -e | 추가 데이터를 지정합니다. 데이터의 자료형에 따라 접미사 (s, i, l, u, …)가 붙을 수 있습니다. |