ํ๋ฌํฐ๋ก ์ฑ ๊ฐ๋ฐ์ ํด๋ณด๋ ค๊ณ ํ๋ฌํฐ๋ฅผ ์ค์นํ๊ณ ํ์ํ ํ๊ฒฝ์ ๊ตฌ์ถํด๋ณด์๋ค.
๋๋ ์๋ ์น ํ๋ก ํธ ๊ฐ๋ฐ์์ด๋ฏ๋ก VS Code๋ ์ค์น๋์ด์์ด ์ฑ ๊ฐ๋ฐ editor๋ VS Code๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ๊ฐ๊ณ , ๋๋จธ์ง ํ์์ ์ธ ๊ฒ๋ค๋ง ์ต์ํ์ผ๋ก ์ค์ ํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.
์ด ์ํ์์ ํ์ํ ์ค๋น๋ฌผ
- ํ๋ฌํฐ
- ํ๊ฒ ๋๋ฐ์ด์ค
- VS Code์์ ํ๋ฌํฐ ๊ฐ๋ฐํ๊ฒฝ ์ ํ
1. Flutter ์ค์นํ๊ธฐ
ํ๋ฌํฐ ๊ณต์๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด์ ํ๋ฌํฐ๋ฅผ ์ค์นํด์ค๋ค.
1. Apple Silicon ํ๊ฒฝ์์ ํ์ํ Rosetta 2 ์ค์น
sudo softwareupdate --install-rosetta --agree-to-license
์ด๋ฐ๊ฑธ ์ค์นํด์ผ๋๋? ํ๊ณ ์ค์น ์ํด๋ดค๋๋ฐ ์ง์ง ์๋์ํ๋ค;;
Apple Silicon ํ๊ฒฝ์ด๋ผ๋ฉด ๋ฌด์กฐ๊ฑด ์ค์น ํ์
Rosetta2๋ ์๋ ์ธํ ์นฉ ๋งฅ๋ถ์์ ์ธ ์ ์๊ฒ ๋ง๋ค์ด์ง ์ฑ์ ์ค๋ฆฌ์ฝ ์นฉ ๋งฅ๋ถ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด์ฃผ๋ translator ์ญํ ์ ํ๋ค๊ณ ํ๋ค.
2. Flutter SDK ์ค์น
ํ๋ฌํฐ ๊ฐ๋ฐ์ ์ํ Software Developement Kit์ ์ค์นํด์ผํ๋ค.
Flutter SDK๋ฅผ ์ ์ฅํ๊ณ ์ถ์ ๋๋ ํ ๋ฆฌ์ ์ ์ฅํ๋ค.
๊ณต์๋ฌธ์์์ ์ถ์ฒํด์ค๋๋ก ์์ถ์ ํ๊ณ ~/development/ ์ ์ ์ฅ
์๋ฃ๋๋ฉด flutter ํ์ผ๋ค์ด ~/development/flutter ์์ ์ ์ ์ฅ์ด ๋์ด์๋ค.
3. ํ๊ฒฝ๋ณ์์ Flutter ๋ช ๋ น์ด ๋ฑ๋กํ๊ธฐ
Terminal์์ Flutter ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ค๋ฉด PATH ํ๊ฒฝ๋ณ์์ Flutter๋ฅผ ์ถ๊ฐํด์ฃผ์ด์ผ ํ๋ค.
ํ ์คํธ ์๋ํฐ vim์ผ๋ก .zshenv ํ์ผ ์ด๊ธฐ
.zshenv ํ์ผ ๋ด๋ถ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
export PATH=$HOME/development/flutter/bin:$PATH
๋ณต๋ถํ esc๋ฅผ ๋๋ฌ Normal mode์์ `:wq` ๋ฅผ ์ ๋ ฅํ์ฌ ์ ์ฅํ vim ํ ์คํธ ์๋ํฐ๋ฅผ ์ข ๋ฃํ๋ค!
์์ ๊ทธ๋ผ ์ด์ .zshenv ํ์ผ์ ์ ๋๋ก PATH ์ค์ ์ฝ๋๊ฐ ์ ์ฐ์ฌ์ง๊ฑด์ง ํ์ธํด๋ณธ๋ค. (just ํ์ธ์ฉ)
cat ํ์ผ์ด๋ฆ์ ์ ์ด์ฃผ์ด ํด๋น ํ์ผ์ ๋ด์ฉ์ ํ๋ฉด์ ์ถ๋ ฅํ๋ค.
์ ์ด์ค ๋ด์ฉ์ด ์ ์ถ๋ ฅ๋จ์ ํ์ธํ ์ ์๋ค.
์ด์ ํฐ๋ฏธ๋์์ flutter ๋ช ๋ น์ด๊ฐ ์ ์คํ๋๋์ง ๋ณธ๋ค.
๋์? ์๋ฌ๊ฐ ๋๋ค.
์ด์ ๋ PATH ํ๊ฒฝ๋ณ์๋ ๊ณต์๋ฌธ์์ ๋๊ฐ์ด ~/development๋ก ์ ์ด์ฃผ์๋๋ฐ, flutter ํด๋๋ฅผ development ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๋ค๋ฅธ๋ฐ๋ค ์ ์ฅ์ ํด๋จ์ด์์๋ค.
์์ 1. Flutter ์ค์นํ๊ธฐ์์ ์ค๋ช ํด๋ ๊ฒ์ฒ๋ผ ๋ฃจํธ ํด๋ ํ์์ development ํด๋๋ฅผ ๋ง๋ค์ด ์ ์ฅํ์ผ๋ฉด PATH์์ ์ค์ ํ ์์น๋ ๋์ผํ๋ฏ๋ก ์ ๋๋ก ์ ์๋ํ๋ค. ์ฆ, ์ค์น๋ ํ๋ฌํฐ ํ์ผ์ด ํฐ๋ฏธ๋ ํ๊ฒฝ๋ณ์ PATH์ ๊ฐ์ ์์น์ ์ ์ฅ๋์ด์ผ์ง Flutter ๋ช ๋ น์ด๊ฐ ์ ๋๋ก ์ค์ ์ด ๋๋ค.
์ด์ flutter ๊ฐ ์ ๊น๋ ธ๊ณ ํฐ๋ฏธ๋ ๋ช ๋ น์ด๋ก๋ ์คํ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
2. Android Studio ์ค์นํ๊ธฐ
์ฑ ๊ฐ๋ฐ์ ๋ชจ๋ฐ์ผ์์ ๋์๊ฐ๋ ์ฑ์ด๊ธฐ๋๋ฌธ์ ์ค์ ํ๊ฒ ๋๋ฐ์ด์ค๊ฐ ํ์ํ๋ค. ๊ทธ๋ผ ์ฑ ๊ฐ๋ฐ์๋ค์ ๊ฐ๋ฐํ ๋ ๋ฌด์กฐ๊ฑด ๋ฌผ๋ฆฌ์ ์ธ ๋๋ฐ์ด์ค๋ฅผ ์์๋๊ณ ๊ฐ๋ฐํด์ผ๋๋ ๊ฒ์ธ๊ฐ? ๊ทธ๋ ์ง ์๋ค. ํ๊ฒ ๋๋ฐ์ด์ค๋ ๋ฌผ๋ฆฌ์ ์ธ ๋๋ฐ์ด์ค or ๊ฐ์ ๋๋ฐ์ด์ค๊ฐ ๋ ์ ์๋ค.
์ด๋ ๊ฐ์ ๋๋ฐ์ด์ค๋ฅผ ์ค์ ํ๊ธฐ ์ํด Android emulator๋ฅผ ์ค์ ํด์ผํ๋ค.
emulator๋? ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด๋ ์ฅ์น๋ฅผ ๋ชจ๋ฐฉํ๋ ์ ์๊ธฐ๊ธฐ
๊ทธ๋์ ํ๊ฒ ๋๋ฐ์ด์ค์ ์๋๋ก์ด๋ ๊ฐ๋ฐํ๊ฒฝ์ ์ค์ ํ๊ธฐ ์ํด์ Android Studio ์ค์น๊ฐ ํ์ํ๋ค.
1. Android Studio ์ค์น
https://developer.android.com/studio/install
2. Android components ์ค์น
More Actions > SDK Manager
SDK Platforms ํญ
Android API 34 ์ค์น
SDK Tools ํญ
์๋ ์ปดํฌ๋ํธ๋ค์ ์ค์น
- Android SDK Command-line Tools
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android Emulator
3. ํ๊ฒ ์๋๋ก์ด๋ ๋๋ฐ์ด์ค ์ค์
More Actioins > Virtual Device Manager > ์ผ์ชฝ ์๋จ์ ์๋ Create Device ๋ฒํผ ํด๋ฆญํด์ ์ํ๋ ๋๋ฐ์ด์ค ์ ํ
System Image ์ ํ
System Image๋ ๋งฅ๋ถ์ด Intel CPU์ธ์ง Apple CPU ์ธ์ง์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ ํํ๋๋ฐ, ๋์ ๊ฒฝ์ฐ pc๋ MacBookPro M2๋ก Apple CPU ์ด๋ฏ๋ก ARM Images ๋ฅผ ์ ํํ๋ค. ์ด์ฐจํผ System Image ์ ํํ ๋ pcํ๊ฒฝ์ ๋ง๊ฒ Recommended ์์ ์ถ์ฒํญ๋ชฉ์ ์ ํํ๋ฉด ๋๋ค.
์ด์ Device Manager์ ๋ด๊ฐ ์ถ๊ฐํ ๋๋ฐ์ด์ค๊ฐ ์ ๋จ๋ ๊ฑธ ๋ณผ ์ ์๋ค.
Run ๋ฒํผ์ ๋๋ฅด๋ฉด Launching emulator๋ผ๋ ์ํ๋ฐ๊ฐ ๋จ๋ฉด์ ๋๋ฐ์ด์ค๋ฅผ ์คํ ์ค๋น ์ํจ๋ค.
Android emulator๋ฅผ ์คํ ์ํจ ์ด๊ธฐ ํ๋ฉด!
์ค์ ์๋๋ก์ด๋ ํฐ๊ฐ์ ํ๋ฉด์ด ๋ฌ๋ค.
์ด๋ ๊ฒ ์ฑ์ ๋์ธ ๋๋ฐ์ด์ค๋ ์ค๋น ์๋ฃ!
3. ํ๋ฌํฐ ์ฑ ์คํํ๊ธฐ
https://codelabs.developers.google.com/codelabs/flutter-codelab-first#0
ํ๋ฌํฐ ์ฑ์ ์คํ์ํค๊ธฐ ์ํด์๋ ํ๋ฌํฐ๋ก ๊ฐ๋ฐํ ์ฑ์ด ํ์ํ๋ค.
ํ๋ฌํฐ๋ก ์ฑ ๊ฐ๋ฐ์ ํ ์ ์๋ ์ฝ๋ ํ ์คํธ Editor ๋ IDE๊ฐ ํ์ํ๋ค.
Flutter ๊ณต์๋ฌธ์์์ ๋ช ์ํด์ค ์ ๋ช ํ ๊ฐ๋ฐ ์ต์ ์ ์๋์ ๊ฐ์๋ค.
- Visual Studio Code 1.77 or later with the Flutter extension for VS Code.
- Android Studio 2023.2.1 (Iguana) or later with the Flutter plugin for IntelliJ.
- IntelliJ IDEA 2023.2 or later with both the Flutter plugin for IntelliJ and the Android plugin for IntelliJ.
๋์ ๊ฒฝ์ฐ ์๋ ์น ํ๋ก ํธ๊ฐ๋ฐ์ VS Code๋ก ํ๋ฏ๋ก ๊ฐ๋ฐํ๊ฒฝ์ VS Code๋ก ์ ํํ๋ค.
1. Visual Studio Code์ Flutter extension ์ค์น
VS Code์์ ํ๋ฌํฐ๋ก ๊ฐ๋ฐํ๋ ค๋ฉด Flutter extension์ด ํ์ํ๋ค.
ํ๋ฌํฐ ์ต์คํ ์ ์ ๊น๋ฉด ์ด์ VSCode command palette์์ Flutter๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
2. ํ๋ฌํฐ ํ๋ก์ ํธ ์์ฑ
`Shift+Cmd+P`๋ก command palette๋ฅผ ์ด์ด flutter๋ฅผ ๊ฒ์ํ์ฌ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค.
Empty Application์ ์ ํํ๊ณ , ํ๋ก์ ํธ๋ฅผ ์์ฑํ ํด๋๋ฅผ ์ ํํ๋ค.
๋์ ๊ฒฝ์ฐ๋ ํ๋ก์ ํธ์ ์ด๋ฆ์ flutter_webview_app ๋ผ๊ณ ์ง์ด์คฌ๋ค.
ํ๋ก์ ํธ๊ฐ ์์ฑ๋ ํ๋ฉด
3. ์ฑ ์คํํ๊ธฐ
๋จผ์ ํ๋จ์ฒ๋ผ Current Device์ ํ์ฌ ์๋์ค์ธ ์๋๋ก์ด๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์ ์ ํ๋์ด์๋์ง ํ์ธํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ ํ๋ฌํฐ ์ฑ์ ์คํํ๊ธฐ ์ํด ๋๋ฒ๊น ๋ฒํผ์ ๋๋ฅธ๋ค.
์กฐ๊ธ ๊ธฐ๋ค๋ฆฌ๋ค๋ณด๋ฉด.. debug console์ ์๋์ ๊ฐ์ด
Resolving dependencies...
Got dependencies!
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
"Install Android SDK Tools (revision: 26.1.1)" ready.
์๋ฐ ๋ด์ฉ์ด ์ญ์ญ์ญ ์ ํ๋ฉด์ ๋ก๊ทธ๊ฐ ์ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋น๋๊ฐ ์๋ฃ๋๋ฉด ์ ์ ๋ก ์ฑ์ด Debug ๋ชจ๋๋ก ์ ์ด๋ฆฐ๋ค!!
๐
'Flutter' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
flutter webview ERR_CLEARTEXT_NOT_PERMITTED (0) | 2024.05.29 |
---|---|
flutter ์ฑ์์ ์น๋ทฐ ๋์ฐ๊ธฐ webview_flutter ํ๋ฌ๊ทธ์ธ (2) | 2024.05.20 |