본문 바로가기
프로그래밍/안드로이드

5. 고급 ADB 사용법

by 완소루피 2024. 11. 12.
728x90
반응형

Android Debug Bridge(ADB)는 안드로이드 기기와 PC 간의 상호작용을 돕는 강력한 도구입니다. 기본적인 파일 전송과 앱 설치 외에도 고급 ADB 명령어를 활용하면, 앱 디버깅, 시스템 로깅, 네트워크 포워딩 등 다양한 작업을 수행할 수 있습니다. 이번 글에서는 이러한 고급 ADB 사용법을 예제와 함께 살펴보겠습니다.

 


1. ADB 백업 및 복원

앱 데이터를 백업하고 복원할 때 adb backup과 adb restore 명령어를 사용할 수 있습니다. 이 기능은 기기 변경 시 데이터 이전에 유용합니다.

 

# 앱 데이터 백업
adb backup -apk -shared -all -f /path/to/backup.ab

# 백업 파일 복원
adb restore /path/to/backup.ab

 

옵션 설명:

  • -apk: APK 파일 포함
  • -shared: 공유 저장소 데이터 포함
  • -all: 모든 앱 데이터 포함

2. 화면 녹화 및 스크린샷

ADB로 안드로이드 기기의 화면을 캡처하거나 녹화할 수 있습니다. 화면을 캡처하거나 녹화하여 테스트나 디버깅 시 유용하게 활용할 수 있습니다.

  • 스크린샷
adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png .
  • 화면 녹화
adb shell screenrecord /sdcard/screenrecord.mp4
adb pull /sdcard/screenrecord.mp4 .

 

녹화 시간은 기본적으로 3분까지 가능합니다. 필요 시 옵션을 추가하여 시간이나 비트레이트를 조정할 수 있습니다.

3. 네트워크 포워딩 및 리버스 포워딩

테스트를 위한 네트워크 포트를 전달할 수 있습니다. 포트 포워딩은 기기에서 PC로, 리버스 포워딩은 PC에서 기기로 포트를 전달합니다.

  • 포트 포워딩 (PC에서 기기로)
adb forward tcp:8080 tcp:8080

 

  • 리버스 포워딩 (기기에서 PC로)
adb reverse tcp:8080 tcp:8080

 

4. 무선 ADB 연결

기기가 USB로 연결되지 않은 상태에서도 무선으로 ADB를 사용할 수 있습니다. 이를 위해서는 먼저 USB로 연결한 후 설정을 변경해야 합니다.

 

1. 기기를 USB로 연결한 상태에서 포트를 설정합니다.

adb tcpip 5555

 

 

2. USB를 해제하고 IP 주소를 통해 연결합니다.

adb connect <기기의 IP 주소>:5555

 

연결이 완료되면 USB 없이도 ADB 명령을 무선으로 사용할 수 있습니다.

5. 인텐트(Intent) 전송

앱을 자동으로 실행하거나 특정 작업을 수행하려면 인텐트를 전송할 수 있습니다. 예를 들어, 특정 앱의 액티비티를 실행하거나 특정 동작을 수행할 수 있습니다.

# 브라우저 앱에서 특정 URL 열기
adb shell am start -a android.intent.action.VIEW -d "https://www.example.com"

# 특정 앱의 액티비티 실행
adb shell am start -n com.example.app/.MainActivity

 

옵션 설명:

  • -a: 인텐트 액션 지정
  • -d: 데이터 URI 지정 (URL 등)

 

요약 및 다음 단계

고급 ADB 사용법을 통해 Android 기기의 데이터 백업, 화면 캡처, 네트워크 포워딩, 무선 연결, 인텐트 전송 등의 다양한 기능을 효과적으로 활용할 수 있습니다. ADB는 개발자와 테스터 모두에게 필수적인 도구로, 고급 기능을 익히면 더욱 효율적인 앱 테스트와 개발이 가능해집니다.

다음 단계로는 ADB 명령어 스크립팅을 학습하여 반복적인 작업을 자동화하거나, 디버깅에 유용한 로그 분석 기법을 익히는 것을 추천드립니다.

728x90
반응형