플러터:실행
개발 중 화면을 파악하기 위하여.
| 과정 | 설명 | 비고 |
|---|---|---|
| 개발환경 준비 | 안드로이드, ios 등 해당 개발환경에 대해 배포하기 위한 사전작업이 되어 있는지 확인.
각 개발환경에 대한 준비 여부를 진단한다. |
flutter doctor |
| 확인(선택사항) |
|
flutter devices |
| 실행 | window, 연결된 장 등 해당 환경에서의 앱을 실행해본다. | flutter run -d 디바이스명
vscode의 경우, 우측 하단에서 디바이스를 설정하고(에뮬레이터를 켜고) flutter run 만으로 가능. |
프로젝트를 시작하는 방법과 에뮬레이터(가상기) 사용법에 대하여.
| 과정 | 설명 | 비고 |
|---|---|---|
| 안드로이드 스튜디오 설치 | 휴대폰 뮬레이터를 실행하기 위해 필요한 프로그램이다.(iOS개발은 윈도우 컴에선 못함.)
|
https://developer.android.com/studio/install |
| 에뮬레이터 사용 설정 | 안드로이드 SDK를 지정해주어야 한다.
|
|
| 라이센스 동의 | flutter doctor를 실행하면 [!] Android toolchain - develop for Android devices (Android SDK version 35.0.1) 과 같은 메시지가 뜬다.
라이센스 동의 관련은 |
|
| 기기 추가 |
|
|
| 과정 | 설명 | |
|---|---|---|
| ...... to "build\flutter_assets\shaders/ink_sparkle.frag" failed with exit code -1073741819. | 보통 프로젝트나 플러터의 경로에 한글이 포함되어 있을 때 발생하는 에러이다.
이렇게 경로를 바꿔주는 경우, VSCode의 경우에 좌측의 세팅에서 "Dart: Flutter SDK Path" 설정을 찾아 설정파일을 변경해주어야 한다. 이렇게 하면 flutter doctor에서 경로가 바뀌었음을 지적하는데, 이는 flutter clean으로 build 파일을 제거했다가 다시 구성하면 해결된다. | |
| Flutter failed to delete a directory at "build\flutter_assets". The flutter tool cannot access the file or directory. | 2025년 기준 이런 메시지가 뜨는 건 여러 이유가 있겠지만... 나의 경우엔 원드라이브 내부의 경로를 사용했을 때이다.
구글드라이브나 원드라이브나 동기화 폴더 안에 두면 사용중으로 묶여버리는데... 이거 이유를 한참만에 발견했다;;; 동기화 환경에선 쓸 수 없다는 게 굉장히...치명적이고 불편하다. |
실제 휴대폰이 에뮬레이터보다 빠르고 안정적임.
| 과정 | 설명 | 비고 | ||||
|---|---|---|---|---|---|---|
| 디버깅 모드 활성화 | 핸드폰 설정
USB 케이블로 연결:
|
파일전송이 가능한 USB로 연결해야 함. | ||||
| Google USB Driver 설치 | 안드로이드스튜디오 > Tools > SDK Manager > Languages&Frameworks > Android SDK > SDK Tools > Google USB Driver
|
|||||
| 자바 JDK 설치 |
|
|||||
| 연결 및 확인 |
|
|||||
| 실행 | flutter run에서 디바이스 선택.
|
|
파일을 저장하면 실행 화면에 실시간으로 저장 내용이 반영된다.
애석하게도, 원드라이브 등 프로젝트가 특수한 디렉토리 안에 있으면 파일이 잠겨서 핫 리로드가 안된다.(옛날엔 한글 디렉토리에 있으면 실행조차 안되었는데, 어느 순간 해결되었다.)
여러 에뮬레이터로 개발을 하는 상황에서 Gradle 캐시 잠금 문제가 발생한다. 원인으로는 다음과 같은 것들이 생각된다.
| 원인 | 설명 | 비고 |
|---|---|---|
| 한글 경로가 포함됨. | (사용자명이 한글인 경우. 어쩔 수가 없는;;): 파워쉘에서 setx GRADLE_USER_HOME "D:\FlutterGradleCache" 형식으로 경로를 바꾸어준다. | |
| 회사망이라 SSL 인증서 문제로 제대로 된 Gradle 다운로드가 안됨. |
|
|
| 플러터와 Gradle 버전이 안맞음. | 이건... 코파일럿도 잘 안알려주는 문제였다; 버전에 대한 질문을 해보길. | 보통 코파일럿 등은 코드만 살펴주지, 이런 문제는 상정 외... |
| 보안 프로그램 | 보안 프로그램이 스캔하면서 잠가버리면 답 없....
프로젝트가 원드라이브 안에 있어도 이유를 모르겠지만 감궈버림... |
학교에서 개발할 때......정말 안된다.
V3인지 뭔지 계속 잠겨서......... 빠르게 포기하고 노트북으로 넘어가는 편이 좋다. 학교 노트북에도 기본적으로 보안프로그램이 설치되어 있어 안되었었는데, V3 지우니 되었음. |