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. ToolsSDK 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! 🚀