Linux Installation Guide

System requirements

To install and run Flutter, your Linux development environment needs to meet these minimum requirements:

  • Operating System: Linux (64-bit)
  • Disk Space: At least 1.6 GB (excluding disk space for IDE/tools).
  • Tools: Flutter relies on these command-line tools:
    • bash
    • curl
    • file
    • git 2.x
    • mkdir
    • rm
    • unzip
    • which
    • xz-utils
    • zip
  • Shared libraries: To utilize the flutter test command, your environment needs the library libGLU.so.1. The mesa packages provide this library: libglu1-mesa on Ubuntu/Debian and mesa-libGLU on Fedora.

Get the Flutter SDK

To install the Flutter SDK on your Linux system, use one of the following methods.

Method 1: Install Flutter using snapd

This offers the most direct method to install the Flutter SDK on your Linux system.

To learn about using snapd, check Installing snapd.

After you install snapd, install Flutter from the Snap Store or run the following command:

$ sudo snap install flutter --classic

Method 2: Manual installation

If you aren’t using snapd, follow these steps to install Flutter.

  1. Download the installation bundle for the latest stable release of the Flutter SDK:

    (loading…)

    You can find older builds and other release channels in the SDK archive.

  2. Extract the downloaded file to a location of your choice:

     $ cd ~/development
     $ tar xf ~/Downloads/flutter_linux_vX.X.X-stable.tar.xz
    
  3. Add the flutter tool to your path:

     $ export PATH="$PATH:`pwd`/flutter/bin"
    

    This command sets your PATH environment variable for the current terminal window only. To add Flutter as permanent part of your path, check out Update your path.

  4. (Optional) Pre-download development binaries:

     $ flutter precache
    

    To find additional download options, run flutter help precache.

Verify your install with flutter doctor

After installing Flutter, run flutter doctor.

$ flutter doctor

This command checks your environment and displays a report in the terminal window. Flutter bundles the Dart SDK. You don’t need to install Dart.

To get greater detail on what you need to fix, add the -v flag:

$ flutter doctor -v

Review the output for further tasks to perform. An example would be the text shown in bold.

The flutter doctor -v output might resemble the following:

[-] Android toolchain - develop for Android devices
    • Android SDK at /Users/dash/Library/Android/sdk
    ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
    • Try re-installing or updating your Android SDK,
      visit https://docs.flutter.dev/setup/#android-setup for detailed instructions.

The following sections describe how to perform these tasks and finish the setup process.

After completing the outlined tasks, run the flutter doctor command again.

Update your path

Independent of how you installed Flutter, you need to add the Flutter SDK to your PATH. You can add Flutter to your PATH either for the current session or for all sessions going forward.

Update your path for the current session only

To update your PATH variable for the current session, enter this command in your terminal:

$ export PATH="$PATH:[PATH_TO_FLUTTER_GIT_DIRECTORY]/flutter/bin"

In this command, replace [PATH_TO_FLUTTER_GIT_DIRECTORY] with the path to your Flutter SDK install.

Update your path for all future sessions

To add Flutter to your PATH for any terminal session, follow these steps:

  1. Find your Flutter SDK installation path.

     $ find / -type d -wholename "flutter/bin" 2>/dev/null
    

    Response should resemble:

     /usr/<example>dev/flutter/bin
    
  2. Append the following line to your rc shell file Linux reads the rc shell “resource” file each time it opens a terminal.

    Replace <path_to_flutter_directory> with your Flutter path

     $ echo 'export PATH="$PATH:<path_to_flutter_directory>/flutter/bin"' >> $HOME/.bashrc
    
  3. Reload the current shell profile.

     source $HOME/.<rc file>
    
  4. Verify that the flutter/bin directory exists in your PATH.

     $ echo $PATH
    

    Response should resemble:

     /usr/<example>/dev/flutter/bin:/usr/local/git/git-google/bin:/usr/local/git/current/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:
    
  5. Verify that you can now use the flutter command.

     $ which flutter
    

    Response should resemble:

       /usr/<example>/dev/flutter/bin/flutter
    

Android setup

Install Android Studio

help Help

  1. Download and install Android Studio.
  2. Start Android Studio, and go through the ‘Android Studio Setup Wizard’. This installs the latest Android SDK, Android SDK Command-line Tools, and Android SDK Build-Tools, which are required by Flutter when developing for Android.
  3. Run flutter doctor to confirm that Flutter has located your installation of Android Studio. If Flutter cannot locate it, run flutter config --android-studio-dir=<directory> to set the directory that Android Studio is installed to.

Set up your Android device

help Help

To prepare to run and test your Flutter app on an Android device, you need an Android device running Android 5.0 (API level 21) or higher.

  1. Enable Developer options and USB debugging on your device. Detailed instructions are available in the Android documentation.
  2. [Optional] To leverage wireless debugging, enable Wireless debugging on your device. Detailed instructions are available in the Android documentation.
  3. Windows-only: Install the Google USB Driver.
  4. Using a USB cable, plug your phone into your computer. If prompted on your device, authorize your computer to access your device.
  5. In the terminal, run the flutter devices command to verify that Flutter recognizes your connected Android device. By default, Flutter uses the version of the Android SDK where your adb tool is based. If you want Flutter to use a different installation of the Android SDK, you must set the ANDROID_SDK_ROOT environment variable to that installation directory.

Set up the Android emulator

help Help

To prepare to run and test your Flutter app on the Android emulator, follow these steps:

  1. Enable VM acceleration on your machine.
  2. Launch Android Studio, click the Device Manager icon, and select Create Device under Virtual tab…
    • In older versions of Android Studio, you should instead launch Android Studio > Tools > Android > AVD Manager and select Create Virtual Device…. (The Android submenu is only present when inside an Android project.)
    • If you do not have a project open, you can choose 3-Dot Menu / More Actions > Virtual Device Manager and select Create Device…
  3. Choose a device definition and select Next.
  4. Select one or more system images for the Android versions you want to emulate, and select Next. An x86 or x86_64 image is recommended.
  5. Under Emulated Performance, select Hardware - GLES 2.0 to enable hardware acceleration.
  6. Verify the AVD configuration is correct, and select Finish.

    For details on the above steps, see Managing AVDs.

  7. In Android Virtual Device Manager, click Run in the toolbar. The emulator starts up and displays the default canvas for your selected OS version and device.

Agree to Android Licenses

help Help

Before you can use Flutter, you must agree to the licenses of the Android SDK platform. This step should be done after you have installed the tools listed above.

  1. Open an elevated console window and run the following command to begin signing licenses.
    $ flutter doctor --android-licenses
    
  2. Review the terms of each license carefully before agreeing to them.
  3. Once you are done agreeing with licenses, run flutter doctor again to confirm that you are ready to use Flutter.

Linux setup

Linux prerequisites

To develop Linux desktop apps with Flutter, you need the following tools:

To install each of the tools, run the following command:

$ sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev

Next step

Set up your preferred editor.