Flutter 개발을 하다 보면 에뮬레이터보다 실제 디바이스에서 앱을 테스트해야 할 때가 많습니다. 실제 디바이스에서 테스트하면 더 정확한 성능 측정과 사용자 경험을 확인할 수 있죠. 이 글에서는 Windows 환경에서 USB 케이블을 이용해 Android 폰에 Flutter 앱을 직접 설치하고 실행하는 방법을 단계별로 알아보겠습니다.

🚀 시작하기 전에

필요한 사전 준비사항:
  • Flutter SDK 설치 완료
  • Android Studio 및 Android SDK 설치 완료
  • Android 에뮬레이터 설치 완료
  • USB 케이블 (데이터 전송 가능한 케이블)
  • Android 폰 (Android 4.1 이상)

📱 1단계: Android 폰 개발자 옵션 활성화

개발자 옵션 활성화하기

대부분의 Android 기기에서 개발자 옵션은 기본적으로 숨겨져 있습니다. 다음 단계를 따라 활성화해주세요:

  1. 설정 앱을 열어주세요
  2. 디바이스 정보 또는 **휴대전화 정보 **를 찾아 들어가세요
  3. **빌드 번호 **를 7번 연속으로 탭해주세요
  4. "개발자가 되셨습니다!"라는 메시지가 나타나면 성공입니다

USB 디버깅 활성화하기

  1. 설정에서 **개발자 옵션 **을 찾아 들어가주세요
  2. **USB 디버깅 **을 찾아서 활성화해주세요
  3. 경고 대화상자가 나타나면 **확인 **을 눌러주세요
추가 권장 설정:
  • USB를 통한 설치 허용 - 활성화
  • 충전 전용 모드에서 ADB 디버깅 유지 - 활성화 (있는 경우)

💻 2단계: Windows PC에서 ADB 드라이버 설치

ADB가 설치되어 있는지 확인

먼저 명령 프롬프트를 열고 ADB가 설치되어 있는지 확인해보세요:

adb version

만약 명령을 찾을 수 없다는 메시지가 나온다면, Android SDK의 platform-tools 경로를 환경변수에 추가해야 합니다.

환경변수 설정

  1. 시스템 속성고급 → **환경 변수 **를 열어주세요
  2. **시스템 변수 **에서 **Path **를 선택하고 **편집 **을 클릭하세요
  3. **새로 만들기 **를 클릭하고 다음 경로를 추가하세요:
    C:\Users\[사용자명]\AppData\Local\Android\Sdk\platform-tools
    

Google USB 드라이버 설치

  1. Android Studio를 열어주세요
  2. Tools → **SDK Manager **를 클릭하세요
  3. SDK Tools 탭으로 이동하세요
  4. **Google USB Driver **를 체크하고 **Apply **를 클릭하세요

🔌 3단계: USB 케이블로 디바이스 연결

연결 및 인증

  1. USB 케이블로 Android 폰과 PC를 연결해주세요
  2. 폰에서 **USB 연결 목적을 선택하라는 알림 **이 나타나면 파일 전송 또는 **PTP **를 선택하세요
  3. 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에서 실행

  1. Android Studio에서 Flutter 프로젝트를 열어주세요
  2. 상단 툴바에서 연결된 디바이스를 선택하세요
  3. 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! 🚀