LinuxCommandLibrary

flutter

Build, test, and deploy Flutter applications

TLDR

Initialize a new Flutter project in a directory of the same name

$ flutter create [project_name]
copy

Check if all external tools are correctly installed
$ flutter doctor
copy

List or change Flutter channel
$ flutter channel [stable|beta|dev|master]
copy

Run Flutter on all started emulators and connected devices
$ flutter run -d all
copy

Run tests in a terminal from the root of the project
$ flutter test [test/example_test.dart]
copy

Build a release APK targeting most modern smartphones
$ flutter build apk --target-platform [android-arm],[android-arm64]
copy

Delete the build and .dart_tool directories
$ flutter clean
copy

Display help about a specific command
$ flutter help [command]
copy

SYNOPSIS

flutter [global-options] <subcommand> [subcommand-options arguments]

PARAMETERS

-h, --help
    Print usage information and subcommand help

--version
    Print current Flutter version and exit

-v, --verbose
    Enable verbose logging, including shell commands

-q, --quiet
    Reduce output to errors only

--machine
    Output in structured JSON for machine parsing

--device-id <id>
    Target specific device by ID

--flavor <name>
    Build with specific product flavor

--debug / --profile / --release
    Build modes: debug (default), profile, or release

DESCRIPTION

The flutter command is the primary entry point for the Flutter SDK, Google's open-source framework for building natively compiled applications for mobile, web, and desktop from a single codebase.

It enables developers to create, build, test, and deploy Flutter projects efficiently. Key functionalities include project scaffolding with flutter create, running apps on devices or simulators via flutter run, dependency management through flutter pub, and diagnostics with flutter doctor.

Flutter supports hot reload for rapid iteration, ensuring changes reflect instantly without full recompilation. On Linux, it targets desktop apps alongside Android, iOS, web, and more. The CLI integrates with IDEs like VS Code and Android Studio, but excels in terminal workflows.

Installation involves downloading the SDK, adding it to PATH, and running flutter doctor to verify setup. It's widely used for cross-platform development, emphasizing performance with Skia graphics engine and Dart language.

CAVEATS

Requires Flutter SDK in PATH; run flutter doctor first for setup checks. Linux desktop support needs additional config like flutter config --enable-linux-desktop. Large projects may need significant RAM/CPU.

COMMON SUBCOMMANDS

create: Scaffold new app.
run: Launch on device/emulator.
build: Compile for platforms (apk, linux, web).
doctor: Check environment.
pub get: Fetch dependencies.
upgrade: Update SDK.

INSTALLATION NOTE

Download from flutter.dev, extract, add bin to PATH, accept licenses with flutter doctor --android-licenses.

HISTORY

Announced at Google I/O 2017, Flutter 1.0 stable released Dec 2018. Evolved with Dart 2.x integration; Linux desktop support added in 2021 (Flutter 2.0). Actively maintained by Google, with frequent updates via flutter upgrade.

SEE ALSO

dart(1), pub(1), git(1)

Copied to clipboard