Android/ADB

ADB Shell을 활용한 시스템 제어

임베디드 친구 2025. 2. 17. 09:15
728x90
반응형

Android Debug Bridge(ADB)는 Android 기기와 PC 간의 명령어 기반 인터페이스를 제공하는 강력한 도구입니다. 특히 adb shell 명령을 활용하면 Android 기기의 시스템을 직접 제어하고 다양한 작업을 수행할 수 있습니다. 이번 글에서는 ADB Shell을 활용하여 시스템을 제어하는 다양한 방법을 다루겠습니다.

1. ADB Shell 실행

adb shell 명령은 Android 기기의 Linux 기반 명령줄 인터페이스를 실행하는 기본적인 명령어입니다. 이를 활용하면 Android 시스템 내부에서 직접 명령을 실행할 수 있습니다.

adb shell

위 명령을 실행하면 Android 기기의 셸 환경으로 진입할 수 있으며, 일반적인 Linux 명령어를 사용할 수 있습니다. 예를 들어, 현재 작업 디렉터리를 확인하려면 다음과 같이 입력합니다.

pwd

Android 파일 시스템을 탐색하려면 ls 또는 cd 명령을 사용할 수 있습니다.

ls
cd /sdcard
ls

셸 환경에서 빠져나오려면 exit 명령을 입력하면 됩니다.

exit

2. 특정 액티비티 실행

ADB를 이용하면 특정 애플리케이션의 특정 액티비티를 실행할 수도 있습니다. 이는 adb shell am start 명령을 사용하여 수행됩니다.

adb shell am start -n <package_name>/<activity_name>

예를 들어, Android 설정 앱의 디스플레이 설정 화면을 실행하려면 다음과 같이 입력합니다.

adb shell am start -n com.android.settings/.Settings$DisplaySettingsActivity

또는 Chrome 브라우저에서 특정 URL을 실행할 수도 있습니다.

adb shell am start -a android.intent.action.VIEW -d https://www.google.com

위 명령은 기본 브라우저(Chrome 등)를 사용하여 Google 홈페이지를 여는 역할을 합니다.

3. 화면 캡처

ADB를 이용하면 Android 기기의 화면을 캡처할 수도 있습니다. adb shell screencap 명령을 사용하면 스크린샷을 저장할 수 있습니다.

adb shell screencap /sdcard/screen.png

이후 캡처한 이미지를 PC로 가져오려면 다음 명령을 실행합니다.

adb pull /sdcard/screen.png

만약 기기에서 직접 확인하고 싶다면, 갤러리 앱을 열거나 파일 탐색기를 사용하여 /sdcard/screen.png 파일을 확인하면 됩니다.

4. 화면 녹화

Android 기기의 화면을 녹화하려면 adb shell screenrecord 명령을 사용할 수 있습니다.

adb shell screenrecord /sdcard/record.mp4

위 명령을 실행하면 화면 녹화가 시작되며, 사용자가 수동으로 녹화를 중단하기 전까지 계속 진행됩니다. 녹화를 중단하려면 Ctrl + C를 입력하면 됩니다.

녹화된 동영상을 PC로 전송하려면 adb pull 명령을 사용합니다.

adb pull /sdcard/record.mp4

5. 추가적인 유용한 ADB Shell 명령어

위에서 다룬 명령어 외에도 다양한 ADB Shell 명령어를 활용하여 Android 시스템을 제어할 수 있습니다.

5.1 현재 실행 중인 프로세스 확인

adb shell ps

또는 특정 패키지에 대한 프로세스만 확인하려면 다음과 같이 실행할 수 있습니다.

adb shell ps | grep <package_name>

5.2 애플리케이션 강제 종료

adb shell am force-stop <package_name>

예를 들어, YouTube 앱을 강제 종료하려면 다음 명령을 실행합니다.

adb shell am force-stop com.google.android.youtube

5.3 시스템 로그 확인 (Logcat)

adb shell logcat

특정 태그만 필터링하여 확인하려면 다음과 같이 실행할 수 있습니다.

adb shell logcat -s "MyTag"

5.4 네트워크 상태 확인

adb shell dumpsys connectivity

또는 Wi-Fi 상태만 확인하려면 다음 명령을 실행합니다.

adb shell dumpsys wifi

6. 정리

이번 글에서는 adb shell 명령을 활용하여 Android 기기를 제어하는 다양한 방법을 살펴보았습니다. adb shell am start를 활용한 특정 액티비티 실행, adb shell screencap을 이용한 화면 캡처, adb shell screenrecord를 활용한 화면 녹화 등의 명령어를 실습해 보았습니다. ADB는 Android 개발과 디버깅에서 매우 유용한 도구이므로 다양한 명령어를 익혀 활용하면 큰 도움이 될 것입니다.

반응형