본문 바로가기
Android/이것저것

[Android] 단말을 명령어로 조종해보자 (ADB, Scrcpy)

by 일상 속 둔치 2023. 4. 23.

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 — Download (Latest Version)

SCRCPY is an app that lets you control your Android phone from your PC. You can use it to screen mirror your phone, control it with your mouse and keyboard.

scrcpy.org

 

설치하고 아래 명령어로 scrcpy를 사용해보자

* serial number는 위에서 알아본 adb devices 혹은 단말 설정 app > 휴대전화 정보탭에서 확인 가능하다.

* 연결된 단말이 1개라면 -s 옵션은 생략해도 된다.

 

보통 재택근무를 할 때 adb와 함께 많이 사용했던 것 같다.

* 개발자 모드에서 '화면 켜짐 상태 유지' 옵션을 활성화 해놓으면 화면이 안꺼져서 설정해주면 좋다.

 

 


 

 

Android 디버그 브리지(adb)  |  Android 개발자  |  Android Developers

기기와 통신할 수 있도록 지원하는 다목적 명령줄 도구인 Android 디버그 브리지에 대해 알아보세요.

developer.android.com

 

GitHub - Genymobile/scrcpy: Display and control your Android device

Display and control your Android device. Contribute to Genymobile/scrcpy development by creating an account on GitHub.

github.com

댓글