Android 단말의 경우 Google에서 제공해주는 ADB Tool을 이용하여 단말에 여러 명령을 전달할 수 있다.
- 단말 재부팅
- 단말 밝기 조절
- apk 설치
- 파일 push, pull 등
오늘은 명령어로 단발을 조종하는 법에 대해서 간단하게 알아보자.
ADB란?
Android Debug Bridge의 약자이다.
위에서 기술한대로 단말의 상태를 조절할 수도 있으며, 특정 파일을 설치하거나 옮기고, 심지어는 activity 실행 등의 명령도 수행할 수 있다.
Android SDK에 포함되어 있으며 경로는 다음과 같다.
* 아래는 필자 컴퓨터 기준이며, SDK 경로에 platform-tools 아래에 adb 실행 파일이 존재한다.
C:\Users\<계정명>\AppData\Local\Android\Sdk\platform-tools
USB 디버깅 모드
ADB 연결을 위해서는 USB 디버깅 모드를 활성화 해야한다.
Android 개발하는 분들이라면 대부분 켜져있을 설정이지만, 한번 알아보자.
설정 > 휴대전화 정보 > 소프트웨어 정보 > 빌드번호를 7번 연속 클릭 해준다.
7번 클릭해주면 개발자 옵션란이 활성화 되는데, 옵션을 켜주고 아래로 스크롤 하여 USB 디버깅을 활성화해주자.
* 화면 켜짐 상태 유지를 해놓으면 개발할 때 편하다. 나는 그랬다.
연결 확인
단말이 adb로 인식 가능한 상태인지 확인하기 위한 명령어는 아래와 같다.
만약에 아래 명령어로 했을 때 인식이 안된다면 USB 디버깅 모드 혹은 연결 상태를 확인해봐야한다.
또한 unauthorized로 되어 있다면 USB 연결 설정 중 파일 전송 모드로 변경해주자. (MTP 연결)
* 혹은 연결 허용을 하지 않은 상태이다
adb devices
만약에 연결 상태를 다 확인 했는데도 adb에 안잡힌다 하면 아래 명령어로 adb를 다시 실행해보자.
adb kill-server
단말이 여러개 연결 되어 있을 때에는 -s 옵션으로 시리얼 번호를 입력해주자
adb -s <serial number> <commend>
파일 전송 및 설치
adb push <local> <remote> // 로컬 파일을 단말로 복사
adb pull <remote> <local> // 단말에서 파일을 가져와 로컬로 복사
adb install <file> // APK 파일을 단말에 설치
adb uninstall <package>: 패키지 이름을 사용하여 App을 단말에서 제거합니다.
ADB Shell
ADB를 사용하여 단말에 Shell 명령어를 전달할 수 있다.
adb shell을 입력하면 대화형 쉘로 진입할 수 있다.
* Android는 일반적인 Unix Command를 대부분 지원한다고 한다.
adb shell // shell 진입
adb shell am start -a android.intent.action.VIEW // am으로 intent 송신 등 작업 가능
adb shell screencap /sdcard/screen.png // 화면 캡처
adb shell screenrecord /sdcard/demo.mp4 // 화면 녹화
* am은 Acitvity Manager로 특정 Activity를 실행하는 등의 명령을 내릴 수도 있다.
이외에 다양한 명령어가 있는데... 너무 많아서 나열하기가 힘들다 help 명령어를 통해 필요한 내용을 확인해 보자.
adb --help
Scrcpy
adb와는 다른 tool인데 같이 사용하면 좋은 tool이라 소개하고자 한다.
Scrcpy는 컴퓨터에 연결된 시료 화면을 라이브로 띄워주는 tool이다.
Scrcpy를 사용하면 실제 연결된 단말을 에뮬레이터 사용하듯 사용할 수 있다.
아래 링크를 통해 다운 받을 수 있다.
설치하고 아래 명령어로 scrcpy를 사용해보자
* serial number는 위에서 알아본 adb devices 혹은 단말 설정 app > 휴대전화 정보탭에서 확인 가능하다.
* 연결된 단말이 1개라면 -s 옵션은 생략해도 된다.
보통 재택근무를 할 때 adb와 함께 많이 사용했던 것 같다.
* 개발자 모드에서 '화면 켜짐 상태 유지' 옵션을 활성화 해놓으면 화면이 안꺼져서 설정해주면 좋다.
'Android > 이것저것' 카테고리의 다른 글
[Android] setTextSize로 size 지정할 때 유의할 점 (0) | 2023.06.18 |
---|---|
[Android] 프로그래밍 하면서 놓칠 수 있는 부분들 (0) | 2023.06.03 |
[Android] 코드 스캔하기 with Lint (0) | 2023.04.09 |
[Android] 터치 영역 넓히기 (0) | 2023.03.26 |
[Android] Monkey Test #2 (0) | 2023.03.12 |
댓글