Flutter 개발을 하다 보면 에뮬레이터보다 실제 디바이스에서 앱을 테스트해야 할 때가 많습니다. 실제 디바이스에서 테스트하면 더 정확한 성능 측정과 사용자 경험을 확인할 수 있죠. 이 글에서는 Windows 환경에서 USB 케이블을 이용해 Android 폰에 Flutter 앱을 직접 설치하고 실행하는 방법을 단계별로 알아보겠습니다.
🚀 시작하기 전에
필요한 사전 준비사항:
- Flutter SDK 설치 완료
- Android Studio 및 Android SDK 설치 완료
- Android 에뮬레이터 설치 완료
- USB 케이블 (데이터 전송 가능한 케이블)
- Android 폰 (Android 4.1 이상)
📱 1단계: Android 폰 개발자 옵션 활성화
개발자 옵션 활성화하기
대부분의 Android 기기에서 개발자 옵션은 기본적으로 숨겨져 있습니다. 다음 단계를 따라 활성화해주세요:
- 설정 앱을 열어주세요
- 디바이스 정보 또는 휴대전화 정보를 찾아 들어가세요
- 빌드 번호를 7번 연속으로 탭해주세요
- "개발자가 되셨습니다!"라는 메시지가 나타나면 성공입니다
USB 디버깅 활성화하기
- 설정에서 개발자 옵션을 찾아 들어가주세요
- USB 디버깅을 찾아서 활성화해주세요
- 경고 대화상자가 나타나면 확인을 눌러주세요
추가 권장 설정:
- USB를 통한 설치 허용 - 활성화
- 충전 전용 모드에서 ADB 디버깅 유지 - 활성화 (있는 경우)
💻 2단계: Windows PC에서 ADB 드라이버 설치
ADB가 설치되어 있는지 확인
먼저 명령 프롬프트를 열고 ADB가 설치되어 있는지 확인해보세요:
adb version
만약 명령을 찾을 수 없다는 메시지가 나온다면, Android SDK의 platform-tools 경로를 환경변수에 추가해야 합니다.
환경변수 설정
- 시스템 속성 → 고급 → 환경 변수를 열어주세요
- 시스템 변수에서 Path를 선택하고 편집을 클릭하세요
- 새로 만들기를 클릭하고 다음 경로를 추가하세요:
C:\Users\[사용자명]\AppData\Local\Android\Sdk\platform-tools
Google USB 드라이버 설치
- Android Studio를 열어주세요
- Tools → SDK Manager를 클릭하세요
- SDK Tools 탭으로 이동하세요
- Google USB Driver를 체크하고 Apply를 클릭하세요
🔌 3단계: USB 케이블로 디바이스 연결
연결 및 인증
- USB 케이블로 Android 폰과 PC를 연결해주세요
- 폰에서 USB 연결 목적을 선택하라는 알림이 나타나면 파일 전송 또는 PTP를 선택하세요
- USB 디버깅 허용 대화상자가 나타나면:
- 이 컴퓨터에서 항상 허용을 체크하세요
- 확인을 클릭하세요
연결 확인
명령 프롬프트를 열고 다음 명령어로 디바이스가 인식되는지 확인하세요:
adb devices
정상적으로 연결되었다면 다음과 같은 결과를 볼 수 있습니다:
List of devices attached
ABC123DEF456 device
만약 unauthorized
상태로 나타난다면, 폰에서 USB 디버깅 허용을 다시 확인해주세요.
🚀 4단계: Flutter 앱 실행하기
Flutter 디바이스 확인
Flutter에서도 연결된 디바이스를 확인할 수 있습니다:
flutter devices
앱 실행하기
Flutter 프로젝트 폴더에서 다음 명령어로 앱을 실행하세요:
flutter run
여러 디바이스가 연결되어 있다면, 특정 디바이스를 지정할 수 있습니다:
flutter run -d [device-id]
Android Studio에서 실행
- Android Studio에서 Flutter 프로젝트를 열어주세요
- 상단 툴바에서 연결된 디바이스를 선택하세요
- Run 버튼(▶️)을 클릭하거나
Shift + F10
을 누르세요
🔧 문제 해결 가이드
디바이스가 인식되지 않을 때
1. 드라이버 문제:
# 디바이스 관리자에서 확인
devmgmt.msc
- 알 수 없는 디바이스나 노란색 경고 표시가 있다면 드라이버를 수동으로 설치하세요
2. ADB 서버 재시작:
adb kill-server
adb start-server
3. 다른 USB 포트 시도:
- USB 3.0 포트 대신 USB 2.0 포트를 사용해보세요
- 다른 USB 케이블을 시도해보세요
앱 설치 실패 시
권한 문제:
adb install -r app-debug.apk
저장 공간 부족:
- 폰의 저장 공간을 확인하고 필요시 정리하세요
이전 버전 충돌:
adb uninstall com.example.your_app
flutter run
성능 최적화 팁
디버그 모드 vs 릴리즈 모드:
# 디버그 모드 (개발용)
flutter run --debug
# 릴리즈 모드 (성능 테스트용)
flutter run --release
Hot Reload 활용:
- 앱이 실행 중일 때
r
을 눌러 Hot Reload 사용 R
을 눌러 Hot Restart 사용
📈 추가 개발 팁
로그 확인하기
실시간 로그를 확인하려면:
flutter logs
또는 ADB를 직접 사용:
adb logcat
성능 모니터링
Flutter Inspector를 사용해 위젯 트리와 성능을 모니터링하세요:
flutter run --track-widget-creation
디바이스별 테스트
다양한 화면 크기와 Android 버전에서 테스트하는 것이 중요합니다. 실제 디바이스 테스트를 통해 다음을 확인할 수 있습니다:
- 실제 터치 반응성
- 배터리 사용량
- 메모리 사용량
- 네트워크 연결 상태에 따른 동작
- 센서(가속도계, 자이로스코프 등) 동작
🎯 마무리
USB 케이블을 이용한 실제 디바이스 테스트는 Flutter 앱 개발에서 매우 중요한 과정입니다. 에뮬레이터로는 확인하기 어려운 실제 사용자 경험을 테스트할 수 있어 더 완성도 높은 앱을 만들 수 있습니다.
처음에는 설정이 복잡해 보일 수 있지만, 한 번 설정해두면 이후에는 매우 편리하게 사용할 수 있습니다. 개발 과정에서 자주 실제 디바이스에서 테스트하는 습관을 기르시길 추천합니다!
다음 단계로는:
- 다양한 Android 버전에서 테스트
- iOS 디바이스 연결 설정 (Mac 환경)
- 자동화된 테스트 환경 구축
Happy coding! 🚀