작성자 : 배명진
shinytruth.dev@gmail.com
이 포스팅에서 얻어가실 수 있는 부분은 아래와 같습니다.
포스팅 대상은 아예 코딩을 처음 해보시는 분들보다는, 기존에 어떤 언어든지 코딩을 조금이라도 해보신 분을 타켓으로 합니다. 배경지식이 있으실거라고 여기고 생략하는 부분들이 존재할 것이기 때문인데요.
앱이나 웹사이트, 기타 프로그램을 구동하고 개선을 조금이라도 해보신 경험이 있는 분들이 듣는 것을 추천드립니다.
진행 환경은 아래와 같습니다.
그럼 차근차근 따라오시면 되겠습니다.
https://flutter.dev/ 에 접속해서 flutter stable 버전이 담긴 zip 파일을 다운로드 받습니다.

적절한 위치로 해당 zip 폴더를 옮긴 후 압축을 풀어줍니다.
$ cd ~/development
$ unzip ~/Downloads/flutter_macos_2.8.1-stable.zip
export PATH="$PATH:~/flutter/bin"
해당 zshrc를 소싱하고 Flutter 버전을 체크해서 환경변수가 잘 적용됐는지 확인합니다.
$ source ~/.zshrc
$ flutter --version
Flutter 2.8.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 77d935af4d (3 weeks ago) • 2021-12-16 08:37:33 -0800
Engine • revision 890a5fca2e
Tools • Dart 2.15.1
아래 사이트에 접속해서 커뮤니티 버전 dmg를 다운로드 받은 뒤 실행하여 설치합니다.
https://www.jetbrains.com/ko-kr/idea/download/#section=mac

실행하면 아래와 같은 화면이 보이는데요.

플러그인 탭을 눌러서 Flutter를 검색하고, 설치해줍니다.

설치시 아래와 같이 Dart도 설치할거냐고 묻는데, Install을 누릅니다.

잘 설치되면 아래와 같이 Restart IDE 버튼이 활성화되고, 버튼을 눌러서 IDE를 재시작 해줍니다.

재시작이 되면, New Project 버튼을 눌렀을 때 왼쪽 탭에 Flutter가 생성되어있는 것을 보실 수 있는데요. 오른쪽에 Flutter SDK path가 비어있는 것을 확인하실수 있어요. 이 Path를 조금 전 설치한 flutter 경로(이 경우 ~/development/flutter)를 입력해준 뒤, Next 버튼을 누릅니다.

프로젝트명을 원하는 값으로 입력 후, 저희 실습에서는 web도 사용될 것이므로 Platfoms 체크박스에 web도 추가 체크하신 뒤 Finish 버튼을 눌러 프로젝트를 생성해주세요!

잘 생성이 되면 아래 그림과 같은 화면을 보실 수 있습니다. Web 플랫폼도 추가해두었기 때문에 바로 프로젝트를 Web으로 실행해볼 수 있는데요. (Mac의 경우 Chrome이 설치되어 있어야 하니 먼저 설치해주세요!)

우측 상단에서 디바이스를 Chrome(Web)으로, 실행 파일을 main.dart로 해서 우측 ▶️ 버튼을 눌러주시면됩니다.

축하합니다👏 Flutter로 웹 어플리케이션을 실행하는 데 성공하셨습니다. 여기까지만 준비되어도 이후 강의를 수강하고 진행하시는 데에 문제가 없습니다. 하지만 안드로이드/iOS 에뮬레이터에서 보면서 개발하고 싶으실 경우 아래 과정을 추가로 따라해주시면 되겠습니다.

참고로 앱(Android/iOS) 에뮬레이터와 Web 에뮬레이터는 각각 장단점이 있는데요.
안드로이드 SDK를 별도 설정해서 연결할 수도 있지만, Android Studio를 설치하고 Studio를 통해 SDK를 설치하고 설정하는 것이 더 편리하기 때문에 추천드립니다.
https://developer.android.com/studio
터미널을 열고
$ flutter doctor
를 치시면 아래와 같은 결과를 얻으실 수 있는데요. Android toolchain쪽 에러는 Android SDK Command Line Tools를 설치하라는 의미입니다.
[✓] Flutter (Channel stable, 2.8.1, on macOS 11.6 20G165 darwin-x64, locale en-KR)
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
...
아래 사진처럼 Android Studio의 Sdk manager로 이동하신 후

체크박스에 체크하고 아래의 Apply 버튼을 누르시고 OK를 누르시면 필요한 Tool이 다운로드 됩니다.

그 다음, 아래 명령을 실행하고 y를 눌러 모두 동의함으로써 설정을 완료합니다.
flutter doctor --android-licenses
잘 설정되었는지 flutter doctor를 실행해서 확인합니다.
$ flutter doctor
[✓] Flutter (Channel stable, 2.8.1, on macOS 11.6 20G165 darwin-x64, locale en-KR)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
Android Studio에서 이번에는 AVD Manager를 실행합니다.

에뮬레이터를 실행시켜줍니다.

실행시킨 후 intelliJ로 돌아와서 아까 실행했던 실행 탭을 보시면 이번에는 Android Emulator도 추가되어있는 것을 보실 수 있습니다. 실행시켜주세요~!
수 있습니다.
잘 실행된다면 성공입니다~!

감사합니다 덕분에 셋팅 잘 끝냈습니다.
다만 이 글 보시는 분들중 android 셋팅에서 LinkageError 발생하시면 다음 글을 참고하시면 될 것 같습니다~
https://stackoverflow.com/questions/76882205/error-linkageerror-occurred-while-loading-main-class-com-android-sdklib-tool-sd
ios 설정은 없어서 아쉽네요ㅠㅠ