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 명령어 스크립팅을 학습하여 반복적인 작업을 자동화하거나, 디버깅에 유용한 로그 분석 기법을 익히는 것을 추천드립니다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
7. ADB 명령어 스크립팅 및 자동화 (0) | 2024.11.12 |
---|---|
6. 개발 및 테스트 도구로서의 ADB 활용 (0) | 2024.11.12 |
4. 안드로이드 로그 확인 (0) | 2024.11.12 |
3. ADB 셸(Shell) 명령어 (0) | 2024.11.12 |
2. ADB 앱 설치 및 파일 전송 (0) | 2024.11.12 |