VS Code + Flutter 안드로이드 테스트 환경 설정 가이드 (에뮬레이터 + 실기기)
에뮬레이터 실행 / 실제 기기 USB 연결 / 무선 연결 / 트러블슈팅
먼저 알아야 할 것 — 각 도구의 역할
설정을 시작하기 전에 각 도구가 실제로 무슨 일을 하는지 파악하면 삽질을 줄일 수 있다.
| 도구 | 역할 | 필수 여부 |
|---|---|---|
| Android SDK | 빌드 및 에뮬레이터 구동의 핵심 엔진 | ✅ 필수 |
| Android Studio | SDK 설치 + AVD(가상기기) 관리 UI | 🔶 선택 (권장) |
| VS Code Flutter 확장 | Flutter 앱 빌드 및 실행 | ✅ 필수 |
| Android iOS Emulator 확장 | 이미 만들어진 에뮬레이터를 VS Code에서 열어주는 런처 | ❌ 선택 |
⚠️ 흔한 오해 — "VS Code 확장만 깔면 되는 거 아닌가요?"
Android iOS Emulator 같은 VS Code 확장팩은 에뮬레이터를 만들어주는 도구가 아니다.
이미 존재하는 에뮬레이터를 VS Code 안에서 편리하게 실행해주는 런처일 뿐이다.
즉, 아래 순서가 반드시 지켜져야 한다:
Android SDK 설치
↓
AVD(가상 기기) 생성
↓
환경변수 설정
↓
flutter doctor 통과
↓
VS Code에서 에뮬레이터 실행
확장팩만 깔면 에뮬레이터 목록이 비어있거나 아무것도 실행되지 않는다.
전체 설정 흐름
[1] Android SDK 설치 선택
├── 방법 A: Android Studio 설치 (권장 — GUI로 관리)
└── 방법 B: Command Line Tools만 설치 (경량 — 용량 절약)
[2] 환경변수 설정
[3] flutter doctor로 상태 점검
[4] VS Code 확장 설치
[5] 에뮬레이터 실행 or 실기기 연결
[6] flutter run으로 앱 실행
STEP 1. Android SDK 설치
방법 A — Android Studio 설치 (권장)
Android Studio를 IDE로 쓸 필요는 없다. SDK와 AVD 관리 도구만 빌려쓰는 것이라고 생각하면 된다.
- https://developer.android.com/studio 에서 다운로드
- 설치 중 아래 항목 체크 확인:
- ✅ Android SDK
- ✅ Android SDK Platform
- ✅ Android Virtual Device (AVD)
- 설치 완료 후 SDK Manager 실행 → 아래 항목 설치 확인:
Android SDK Build-ToolsAndroid SDK Command-line ToolsAndroid SDK Platform-Tools
💡 SDK 기본 설치 경로 (Windows)
C:\Users\사용자명\AppData\Local\Android\Sdk
방법 B — Command Line Tools만 설치 (경량 설치)
Android Studio 설치 없이 SDK만 따로 받는 방법이다. 용량을 아끼고 싶을 때 선택한다.
단, 명령어로 직접 설정해야 하기 때문에 경로가 꼬이면 flutter doctor가 SDK를 못 찾는 문제가 생길 수 있다.
1. Command Line Tools 다운로드
https://developer.android.com/studio#command-tools 에서 cmdline-tools 다운로드
2. 폴더 구조 구성 (이 구조가 틀리면 sdkmanager가 동작 안 함)
C:\Android\
└── cmdline-tools\
└── latest\
├── bin\
├── lib\
└── source.properties
3. 환경변수 설정 후 SDK 구성 요소 설치
sdkmanager "platform-tools"
sdkmanager "platforms;android-34"
sdkmanager "system-images;android-34;google_apis;x86_64"
sdkmanager "build-tools;34.0.0"
4. Flutter 라이선스 동의
flutter doctor --android-licenses
# 모두 y 입력
방법 A vs B 비교
| 항목 | Android Studio (A) | cmdline-tools (B) |
|---|---|---|
| 설치 용량 | 약 5~8GB | 약 1~2GB |
| 설정 난이도 | 낮음 (GUI) | 높음 (CLI) |
| AVD 생성 | GUI로 클릭 몇 번 | 명령어 직접 입력 |
| 실수 가능성 | 낮음 | 경로 설정 실수 빈번 |
| 추천 대상 | 처음 설정하는 경우 | 용량이 부족하거나 서버 환경 |
STEP 2. 환경변수 설정
Windows 기준.
시스템 속성 > 환경변수에서 설정.
새 시스템 변수 추가:
| 변수명 | 값 |
|---|---|
ANDROID_HOME | C:\Users\사용자명\AppData\Local\Android\Sdk |
시스템 PATH에 추가:
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
%ANDROID_HOME%\cmdline-tools\latest\bin
⚠️ 환경변수 설정 후 터미널을 완전히 종료하고 다시 열어야 적용된다.
STEP 3. flutter doctor로 상태 점검
flutter doctor
정상 통과 시 출력 예시:
[✓] Flutter (Channel stable)
[✓] Android toolchain - develop for Android devices
[✓] VS Code
[!] Connected device (기기 연결 전이라 경고 — 정상)
자주 뜨는 오류와 해결법:
| 오류 메시지 | 원인 | 해결 방법 |
|---|---|---|
Android SDK not found | ANDROID_HOME 미설정 또는 경로 오류 | 환경변수 재확인 후 터미널 재시작 |
Android license not accepted | 라이선스 미동의 | 아래 상세 설명 참고 |
cmdline-tools component is missing | SDK Tools 구성 누락 | 아래 상세 설명 참고 |
Unable to locate Android SDK | ANDROID_SDK_ROOT 미설정 | ANDROID_HOME과 동일한 경로로 ANDROID_SDK_ROOT도 추가 |
⚠️ 자주 겪는 오류 상세 — Android sdkmanager not found
flutter doctor --android-licenses 를 실행했을 때 아래처럼 오류가 뜨는 경우가 있다:
Android sdkmanager not found. Update to the latest Android SDK and ensure that
the cmdline-tools are installed via the Android SDK Manager.
이 오류의 원인은 단순하다. 라이선스 동의를 처리하는 sdkmanager 프로그램 자체가 cmdline-tools 안에 들어있는데, 이 툴이 아직 설치되지 않은 것이다.
즉, flutter doctor --android-licenses를 실행하려면 cmdline-tools가 먼저 설치되어 있어야 한다.
✅ 해결 방법 — Android SDK Command-line Tools 설치
- Android Studio 실행
- 메인 화면 우측 상단 톱니바퀴 아이콘 클릭 → SDK Manager 선택
(프로젝트가 열려 있다면 상단 메뉴Tools → SDK Manager) SDK Tools탭 클릭- 목록에서
Android SDK Command-line Tools (latest)찾아서 체크박스 ✅ - 우측 하단
Apply클릭 → 확인 창에서OK - 설치 완료 후 터미널에서 아래 명령어 재실행:
flutter doctor --android-licenses
# 묻는 항목마다 y 입력
💡 이 과정을 거쳐야 비로소
flutter doctor의Android toolchain항목이 ✓ 로 바뀐다.
STEP 4. VS Code 확장 설치
필수:
| 확장명 | 설명 |
|---|---|
Flutter (Dart Code 제작) | Flutter 개발 핵심 확장 |
Dart | Flutter 확장 설치 시 자동 포함됨 |
선택 (생산성 향상):
| 확장명 | 설명 |
|---|---|
Android iOS Emulator | VS Code 내에서 에뮬레이터 빠르게 실행 (런처 역할) |
Error Lens | 인라인 에러 표시 |
Pubspec Assist | 패키지 추가 편의 기능 |
STEP 5-A. 에뮬레이터 실행
AVD(가상 기기) 생성 — Android Studio GUI 방법
- Android Studio 실행
More Actions→Virtual Device ManagerCreate Device클릭- 기기 선택: Pixel 7 추천 (Google Play 지원, 안정적)
- 시스템 이미지: API 34 (Android 14) 선택 후 다운로드
- AVD 이름 확인 →
Finish
AVD 생성 — 명령어 방법 (cmdline-tools 사용자)
avdmanager create avd \
-n MyEmulator \
-k "system-images;android-34;google_apis;x86_64"
VS Code에서 에뮬레이터 실행하기
방법 1 — 상태바 클릭 (가장 쉬움)
VS Code 우측 하단 기기 선택 영역 클릭
→ 생성한 AVD 이름 선택
→ 에뮬레이터 자동 실행
방법 2 — 명령 팔레트
Ctrl + Shift + P
→ "Flutter: Launch Emulator" 입력
→ 원하는 AVD 선택
방법 3 — 터미널 직접 실행
flutter emulators # 목록 확인
flutter emulators --launch [에뮬레이터_ID] # 실행
앱 실행
flutter run
또는 F5 (VS Code 디버그 모드)
💡 Hot Reload가 동작하려면 반드시 디버그 모드(
F5)로 실행해야 한다.
flutter run실행 후 터미널에서r키를 눌러도 Hot Reload 가능.
STEP 5-B. 실제 안드로이드 기기 연결 (USB)
기기 설정
설정 → 휴대폰 정보 → 소프트웨어 정보 → 빌드번호7번 연타- 개발자 옵션 활성화 확인
개발자 옵션 → USB 디버깅ON
USB 연결 후 인식 확인
adb devices
정상 출력:
List of devices attached
R3CN1234ABC device ← device로 표시되면 성공
상태별 의미:
| 상태 | 의미 | 해결 |
|---|---|---|
device | 정상 연결 | — |
unauthorized | 기기에서 허용 안 함 | 아래 상세 설명 참고 |
offline | 연결 불안정 | 케이블 교체 또는 adb kill-server 후 재연결 |
| 아무것도 없음 | 드라이버 문제 | 아래 드라이버 설치 참고 |
⚠️ 자주 겪는 오류 상세 — Device is not authorized
flutter devices 실행 시 아래처럼 출력되는 경우가 있다:
Device R3CXC0LN5LH is not authorized.
You might need to check your device for an authorization dialog.
기기는 인식됐지만 이 PC에서의 디버깅을 아직 허용하지 않은 상태다.
✅ 해결 방법
- 연결된 스마트폰의 화면을 켜고 잠금을 해제한다
- 화면에 "USB 디버깅을 허용하시겠습니까?" 팝업이 떠 있을 것이다
(RSA 키 지문 관련 내용이 함께 표시되기도 함) - "이 컴퓨터에서 항상 허용" 체크박스에 ☑ 체크
- 확인(허용) 버튼 클릭
- 터미널에서 다시 확인:
adb devices
# 상태가 unauthorized → device 로 바뀌면 성공
💡 팝업이 보이지 않는다면 USB를 뽑았다가 다시 꽂으면 팝업이 다시 뜬다.
"항상 허용"에 체크해두면 다음 연결부터는 팝업 없이 바로 연결된다.
드라이버 문제 (Windows 한정)
| 제조사 | 해결 방법 |
|---|---|
| 삼성 | Samsung USB Driver 별도 설치 |
| LG, 기타 | Android Studio 포함 Google USB Driver 사용 |
STEP 5-C. 무선 연결 (Android 11 이상)
USB 없이 Wi-Fi로 연결하는 방법. 같은 Wi-Fi 환경이어야 한다.
# 1. USB로 먼저 연결한 상태에서 실행
adb tcpip 5555
# 2. 기기 IP 확인 (설정 → Wi-Fi → 상세정보)
adb connect 192.168.x.x:5555
# 3. USB를 뽑아도 연결 유지됨 — 확인
adb devices
Android 11 이상 + Android Studio 최신 버전이라면 Wireless Debugging (QR 코드 방식) 도 지원한다.
개발자 옵션 → 무선 디버깅활성화 후 Android Studio의Pair Devices Using Wi-Fi메뉴 사용.
트러블슈팅 모음
| 증상 | 원인 | 해결 방법 |
|---|---|---|
| 에뮬레이터가 너무 느림 | 하드웨어 가상화 비활성화 | BIOS에서 Intel VT-x 또는 AMD SVM 활성화 |
| 에뮬레이터 실행 시 검은 화면 | HAXM 또는 Hyper-V 충돌 | Windows 기능에서 Windows Hypervisor Platform 활성화 |
No connected devices | 기기 미인식 | flutter devices 로 확인 후 드라이버 재설치 |
| Gradle 빌드 오류 | SDK 경로 오류 | android/local.properties의 sdk.dir 경로 확인 |
flutter run 후 앱 바로 종료 | 빌드 캐시 오염 | flutter clean 후 재빌드 |
| Hot Reload 안 됨 | 릴리즈 모드로 실행 중 | F5 또는 flutter run (debug 모드)로 재실행 |
| 에뮬레이터 목록이 비어있음 | AVD 미생성 | Android Studio → Virtual Device Manager에서 AVD 생성 |
마무리 — 설정 완료 체크리스트
□ Android SDK 설치 완료
□ 환경변수 ANDROID_HOME 설정 완료
□ flutter doctor 모두 ✓ (또는 device 경고만 남은 상태)
□ VS Code Flutter 확장 설치 완료
□ AVD 생성 완료 (에뮬레이터 사용 시)
□ USB 디버깅 활성화 (실기기 사용 시)
□ flutter run으로 앱 정상 실행 확인
💬 설정 중 막히는 부분이 있다면
flutter doctor -v명령어로 상세 로그를 확인하자.
오류 원인의 90%는 이 명령어 출력에서 힌트를 얻을 수 있다.