플러터:실행: 두 판 사이의 차이
잔글 →에뮬레이터 사용하기 |
잔글 →안드로이드 |
||
| (같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
| 36번째 줄: | 36번째 줄: | ||
* 설치파일만 1.1GB 정도. | * 설치파일만 1.1GB 정도. | ||
* 설치되며 안드로이드와 관련한 이것저것이 함께 설치된다. | * 설치되며 안드로이드와 관련한 이것저것이 함께 설치된다.(용량 꾀 많음, 오래걸림) | ||
|https://developer.android.com/studio/install<nowiki/> | |https://developer.android.com/studio/install<nowiki/> | ||
|- | |- | ||
|에뮬레이터 사용 설정 | |에뮬레이터 사용 설정 | ||
| 50번째 줄: | 44번째 줄: | ||
* 안드로이드 스튜디오에서 SDK Manager > Android SDK Location 경로를 복사해 환경변수로 설정해야 한다. 파워쉘을 관리자권한으로 실행하여 아래를 진행하자. | * 안드로이드 스튜디오에서 SDK Manager > Android SDK Location 경로를 복사해 환경변수로 설정해야 한다. 파워쉘을 관리자권한으로 실행하여 아래를 진행하자. | ||
* flutter config --android-sdk "D:\code\Android\SDK" | * flutter config --android-sdk "D:\code\Android\SDK" | ||
* | * 다시 SDK Manager, Android SDK>SDK Tools>Android SDK command-line Tools(latest)를 Apply 눌러 설치. | ||
* | |||
| | |||
|- | |||
|라이센스 동의 | |||
|flutter doctor를 실행하면 [!] Android toolchain - develop for Android devices (Android SDK version 35.0.1) 과 같은 메시지가 뜬다. | |||
라이센스 동의 관련은 <code>flutter doctor --android-licenses</code> 를 입력해 y를 계속 입력하면 된다.이후 vscode를 재시작해주면 코드 실행으로 사용 가능. | |||
| | | | ||
|- | |- | ||
| 62번째 줄: | 61번째 줄: | ||
* 구석 부분을 드래그하여 화면 크기를 조절할 수 있는데.. 요령이 필요하다; | * 구석 부분을 드래그하여 화면 크기를 조절할 수 있는데.. 요령이 필요하다; | ||
|- | |- | ||
| | | | ||
| | | | ||
| | | | ||
|} | |} | ||
| 118번째 줄: | 116번째 줄: | ||
* 확인: flutter doctor -v 에서 Android toolchain 아래 Java binary at: 경로 확인. 있으면 문제 없음. | * 확인: flutter doctor -v 에서 Android toolchain 아래 Java binary at: 경로 확인. 있으면 문제 없음. | ||
* flutter --version 에서 버전명을 알아낸 후 GPT에게 적절한 자바 JDK 버전을 물어 설치한다. | * flutter --version 에서 버전명을 알아낸 후 GPT에게 적절한 자바 JDK 버전을 물어 설치한다. | ||
{| class="wikitable" | {| class="wikitable" | ||
!OS | !OS | ||
| 133번째 줄: | 121번째 줄: | ||
|- | |- | ||
|Windows | |Windows | ||
| | |설치방법은 아래 2가지. 1번 방법을 권장한다. 물론 버전은 적절히 바꿔서. | ||
# winget install EclipseAdoptium.Temurin.17.JDK | |||
# https://adoptium.net/ 에서 다운받는데, 무작정 최신 버전을 받는 게 아니라, 플러터 버전에 맞는 버전을 설치해야 함. | |||
설치 하고 재부팅 하면 경로도 자동으로 잡힘. | |||
* 설치 확인: java --version | * 설치 확인: java --version | ||
|} | |} | ||
| | |||
|- | |||
|연결 및 확인 | |||
| | |||
* 휴대폰 연결.(와이파이로 무선 디버깅이 되는 기기도 있음) 권한 요청이 뜨면 허가. | |||
* flutter devices 실행하면 휴대폰의 모델명이 나타나야 함. | |||
| | | | ||
|- | |- | ||
|실행 | |실행 | ||
|flutter run에서 디바이스 선택. | |flutter run에서 디바이스 선택. | ||
* 처음 실행할 땐 상당히 느리다. 앱을 빌드해서 실행.(휴대폰에 앱 설치됨) | |||
* 연결을 끊어도 앱이 설치되어 있어, 앱을 계속 쓸 수 있음. | |||
* 핫 리로드 됨. 디버그모드는 핫 리로드를 위한 메타데이터 때문에 오히려 실제 빌드보다 더 느리다. 빌드 캐시를 지우는 게 두려워질 정도로;; 간단한 마이크 테스트용 올려봤는데, 그래들 task만 160초, 빌드.. 디버그 팩 설치하는 데만도 한참 걸린다;; | |||
| | |||
* VSCode라면 하단바에서 선택 가능. 이후 F5 따위로 실행 가능. | |||
|} | |} | ||
2026년 1월 5일 (월) 22:32 기준 최신판
- 플러터:개요
- 플러터:실행
- 플러터:개념 잡기
- 권한 사용
- 위젯
- 플러터:DB연결
- 플러터:Firebase(미완)
- 플러터:MySQL(미완)
- 디자인
- 플러터:배포
- 플러터:참고자료
- 플러터:위젯
- 플러터:라이브러리
개발 중 화면을 파악하기 위하여.
| 과정 | 설명 | 비고 |
|---|---|---|
| 개발환경 준비 | 안드로이드, 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 지우니 되었음. |