본문 바로가기

Flutter

[Flutter] Flutter CLI (Command-Line Interface)

CLI란?

CLI = how developers (or IDEs on behalf of developers) interact

대부분의 운영체제에서 사용자와 컴퓨터가 상호작용하는 방식을 CLI라고 한다. Windows 유저라면 CMD 창을, Mac os 유저라면 Terminal 창에서 CLI를 사용한다.

Flutter의 경우, 보통 VIsual Studio Code나 Android Studio, XCode 등의 IDE를 사용하기에 Flutter app을 개발할 때 CLI를 쓸 일이 많지는 않지만, 알아둔다면 종종 create, run, analyze, test 등에 사용할 수 있으니 알아두도록 하자.

 

먼저, Flutter에서 지원하는 모든 명령어(command)를 아래 명령어를 통해 찾아볼 수 있다.

flutter --help --verbose

--verbose 혹은 -v는 추가적인 정보를 달라는 명령어로 선택적으로 사용하면 된다.

 

※ 만약 fvm(flutter version management)를 사용중이라면 아래 명령어들 앞에 fvm을 붙여주면 된다.

 

Common Commands

flutter create (프로젝트 이름)

: 터미널에서 플러터 프로젝트를 만들고 싶은 directory로 이동하고 위 명령어를 입력하면 프로젝트를 생성할 수 있다. 만약 같은 이름의 프로젝트가 이미 존재한다면 프로젝트 내에 필요한데 없어진 파일이 있다면 다시 생성시켜준다.

 

flutter run (파일 directory)

: 프로젝트를 emulator나 attached machine에서 실행한다.

 

Global Options

flutter --version

: 현재 사용중인 flutter의 버전을 알 수 있다.

(만약 fvm flutter --version을 실행한다면, fvm의 flutter version을 알게 된다.)

 

flutter --packages

: "package_config.json"파일을 찾아간다.

 

Flutter Tool

Flutter SDK

flutter channel

: flutter channel들을 보여주고 바꿀 수 있다. flutter channel은 master, stable, dev, beta로 4가지이다.

 

flutter config

: 플러터 설정을 바꿀 수 있다.

 

flutter doctor

: 플러터를 설치할 때 한번쯤은 사용해 봤을 명령어 인데, 툴의 설치 상태에 대해 알려준다.

 

flutter downgrade

: 플러터의 버전을 현재 채널의 가장 마지막 active 버전으로 다운그레이드한다.

 

flutter precache (arguments)

: Populates the Flutter tool’s cache of binary artifacts

 

Project

flutter analyze

: 프로젝트의 다트 소스 코드를 더 좋은 방법으로 가이드한다.

 

flutter assemble

: 플러터 리소스들을 모아서 build한다.

 

flutter build (directory)

: build an executable app or install bundle

플러터 앱을 출시하려면 안드로이드나 ios를 위한 바이너리를 만들 필요가 있다. build 명령어는 이 역할을 한다.

 

flutter clean

: 플러터 프로젝트가 flutter app을 만들었을 때 차지하는 200kb 정도이지만, emulator을 돌리고 나서는 300mb가 넘는 메모리가 필요하다. 따라서 낮은 사양의 컴퓨터를 사용중이거나 플러터를 공부하기 위해 여러가지 프로젝트를 만들 때 clean 명령어를 사용한다. clean 명령어는 build directory와 몇개의 파일을 지우며 프로젝트가 차지하는 메모리를 줄여준다.

 

flutter drive

: attached device나 emulator에서 현재 프로젝트의 integration test를 실행한다.

 

flutter format (directory(dart file))

: 플러터 소스 코드를 포맷한다.

 

flutter gen-l10n

: 현재 프로젝트에 대해 localization를 제공한다

(localization = 다양한 언어를 사용하는 사용자를 위해 internationing하는 것)

 

flutter pub (command)

: pub이란 Dart 언어를 위한 패키지 매니저로 subcommands를 가지고 있다. 'flutter pub -h'를 입력하면 sub commands를 알 수 있다.

(개인적으로 dependency에 그냥 복붙하는 것을 선호해서 flutter pub get만 주로 쓰게 되는 것 같다.)

 

flutter test (directory(dart file))

: 현재 프로젝트의 unit 테스트를 실행한다.

 

Tools & Devices

flutter attach -d (device ID)

: 실행되고 있는 플러터 앱에 연결된다.

 

flutter custom-devices

: 커스텀 기기가 무엇이 있는지 알려주고, reset하며 추가하거나 삭제할 수 있다.

 

flutter devices -d (device ID)

: 연결된 모든 기기를 알려준다.

 

flutter emulators

: emulator가 무엇이 있는 지 알려주고, 시작하거나 새로 생성할 수 있다.

 

flutter install -d (device ID)

: attached device에 플러터 앱을 설치할 수 있다.

 

flutter logs

: 실행되고 있는 플러터 앱의 로그값들을 볼 수 있다.

 

flutter screenshot

: emulator나 attached device의 스크린샷을 딸 수 있다.

 

flutter symbolize --input= (stack track file)

: AOT-compile 플러터 앱으로부터 stack trace를 기호화한다.

(AOT = ahead-of-time)

(stack trace = a report that provides information about program subroutines, usually used for debugging)

 

 

참고자료 :

- https://docs.flutter.dev/reference/flutter-cli

 

flutter: The Flutter command-line tool

The reference page for using 'flutter' in a terminal window.

docs.flutter.dev

- https://androidride.com/flutter-create-new-project-command-line-options/#flutter_build

 

7 Flutter Commands & Command Line Options You Must Know : Create New Project, Run & More Commands Using CLI - AndroidRide

In this post, you will learn about flutter terminal commands and command-line options. Using Flutter command-line interface (CLI), you can perform lots of operations in your project. Before that make sure you have downloaded Flutter SDK and updated path va

androidride.com