To install and run Flutter, your development environment must meet these minimum requirements:
- Operating Systems: Linux (64-bit)
- Disk Space: 600 MB (does not include disk space for IDE/tools).
- Tools: Flutter depends on these command-line tools being available in your environment.
- Shared libraries: Flutter
testcommand depends on this library being available in your environment.
libGLU.so.1– provided by mesa packages such as
libglu1-mesaon Ubuntu/Debian and
Get the Flutter SDK
On Linux, you have two ways you can install Flutter.
Install Flutter using snapd
The easiest way to install Flutter on Linux is by using snapd. For more information, see Installing snapd.
Once you have snapd, you can install Flutter using the Snap Store, or at the command line:
sudo snap install flutter --classic
Note: Once the snap is installed, you can use the following command to display your Flutter SDK path:
Install Flutter manually
If you don’t have
snapd, or can’t use it, you can install Flutter using the following steps.
- Download the following installation bundle to get the latest stable release of the Flutter SDK:
- For other release channels, and older builds, see the SDK releases page.
- Extract the file in the desired location, for example:
tar xf ~/Downloads/flutter_linux_3.3.7-stable.tar.xz
If you don’t want to install a fixed version of the installation bundle, you can skip steps 1 and 2. Instead, get the source code from the Flutter repo on GitHub with the following command:
git clone https://github.com/flutter/flutter.git
You can also change branches or tags as needed. For example, to get just the stable version:
git clone https://github.com/flutter/flutter.git -b stable
- Add the
fluttertool to your path:
This command sets your
PATHvariable for the current terminal window only. To permanently add Flutter to your path, see Update your path.
- Optionally, pre-download development binaries:
fluttertool downloads platform-specific development binaries as needed. For scenarios where pre-downloading these artifacts is preferable (for example, in hermetic build environments, or with intermittent network availability), iOS and Android binaries can be downloaded ahead of time by running:
For additional download options, see
flutter help precache.
You are now ready to run Flutter commands!
Run flutter doctor
Run the following command to see if there are any dependencies you need to install to complete the setup (for verbose output, add the
This command checks your environment and displays a report to the terminal window. The Dart SDK is bundled with Flutter; it is not necessary to install Dart separately. Check the output carefully for other software you might need to install or further tasks to perform (shown in bold text).
[-] Android toolchain - develop for Android devices • Android SDK at /Users/obiwan/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.
Once you have installed any missing dependencies, run the
flutter doctor command again to verify that you’ve set everything up correctly.
Update your path
You can update your PATH variable for the current session at the command line, as shown in Get the Flutter SDK. You’ll probably want to update this variable permanently, so you can run
flutter commands in any terminal session.
The steps for modifying this variable permanently for all terminal sessions are machine-specific. Typically you add a line to a file that is executed whenever you open a new window. For example:
- Determine the path of your clone of the Flutter SDK. You need this in Step 3.
- Open (or create) the
rcfile for your shell. For example, Linux uses the Bash shell by default, so edit
$HOME/.bashrc. If you are using a different shell, the file path and filename will be different on your machine.
- Add the following line and change
[PATH_OF_FLUTTER_GIT_DIRECTORY]to be the path of your clone of the Flutter git repo:
source $HOME/.<rc file>to refresh the current window, or open a new terminal window to automatically source the file.
- Verify that the
flutter/bindirectory is now in your PATH by running:
Verify that the
flutter command is available by running:
Note: As of Flutter’s 1.19.0 dev release, the Flutter SDK contains the
dart command alongside the
flutter command so that you can more easily run Dart command-line programs. Downloading the Flutter SDK also downloads the compatible version of Dart, but if you’ve downloaded the Dart SDK separately, make sure that the Flutter version of
dart is first in your path, as the two versions might not be compatible. The following command tells you whether the
dart commands originate from the same
bin directory and are therefore compatible.
which flutter dart /path-to-flutter-sdk/bin/flutter /usr/local/bin/dart
As shown above, the two commands don’t come from the same
bin directory. Update your path to use commands from
/path-to-flutter-sdk/bin before commands from
/usr/local/bin (in this case). After updating your shell for the change to take effect, running the
which command again should show that the
dart commands now come from the same directory.
Update path directly
In some cases, your distribution may not permanently acquire the path when using the above directions. When this occurs, you can change the environment variables file directly. These instructions require administrator privileges:
- Determine the path of your clone of the Flutter SDK.
- Locate the
etcdirectory at the root of the system, and open the
profilefile with root privileges.
sudo nano /etc/profile
- Update the PATH string with the location of your Flutter SDK directory.
if [ "`id -u`" -eq 0 ]; then PATH="..." else PATH="/usr/local/bin:...:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin" fi export PATH
- End the current session or reboot your system.
- Once you start a new session, verify that the
fluttercommand is available by running:
For more details on setting the path in Bash, see this StackExchange question. For information on setting the path in Z shell, see this StackOverflow question.
Install Android Studio
- Download and install Android Studio.
- 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.
flutter doctorto 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
To prepare to run and test your Flutter app on an Android device, you need an Android device running Android 4.1 (API level 16) or higher.
- Enable Developer options and USB debugging on your device. Detailed instructions are available in the Android documentation.
- Windows-only: Install the Google USB Driver.
- Using a USB cable, plug your phone into your computer. If prompted on your device, authorize your computer to access your device.
- In the terminal, run the
flutter devicescommand to verify that Flutter recognizes your connected Android device. By default, Flutter uses the version of the Android SDK where your
adbtool is based. If you want Flutter to use a different installation of the Android SDK, you must set the
ANDROID_SDK_ROOTenvironment variable to that installation directory.
Set up the Android emulator
To prepare to run and test your Flutter app on the Android emulator, follow these steps:
- Enable VM acceleration on your machine.
- Launch Android Studio, click the AVD Manager icon, and select Create Virtual Device…
- 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 Configure > AVD Manager and select Create Virtual Device…
- Choose a device definition and select Next.
- 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.
- Under Emulated Performance, select Hardware – GLES 2.0 to enable hardware acceleration.
- Verify the AVD configuration is correct, and select Finish.
For details on the above steps, see Managing AVDs.
- 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
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.
- Make sure that you have a version of Java 8 installed and that your
JAVA_HOMEenvironment variable is set to the JDK’s folder.
Android Studio versions 2.2 and higher come with a JDK, so this should already be done.
- Open an elevated console window and run the following command to begin signing licenses.
flutter doctor --android-licenses
- Review the terms of each license carefully before agreeing to them.
- Once you are done agreeing with licenses, run
flutter doctoragain to confirm that you are ready to use Flutter.
Additional Linux requirements
For Linux desktop development, you need the following in addition to the Flutter SDK:
- GTK development headers
- Ninja build
- liblzma-dev This might be necessary
Run the following command
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev