Flutter Setup on Linux Mint
No Android Studio required — just the command line tools you actually need.
Flutter Stable
Linux Mint
Android API 34
Java 17
KVM Emulator
No Android Studio
Watch the Full Tutorial
1
Install Dependencies
We need Git to download Flutter, Java 17 for Android's build system, and graphics/build libraries for the emulator and Linux toolchain.
sudo apt install curl git unzip xz-utils zip libglu1-mesa openjdk-17-jdk clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev -y
2
Create Directory Structure
One clean parent folder called
development in your home directory. Flutter, Android SDK, and future tools all live here as subfolders.mkdir -p ~/development/android-sdk/cmdline-tools/latest
3
Install Flutter SDK
Clone the official Flutter SDK from GitHub using the
stable branch — the production-ready version.cd ~/development git clone https://github.com/flutter/flutter.git -b stable
4
Download Android Command Line Tools
Download from: developer.android.com/studio#command-line-tools-only — get the Linux .zip file.
cd ~/Downloads unzip commandlinetools-linux-*.zip -d cmdline-temp mv cmdline-temp/cmdline-tools/* ~/development/android-sdk/cmdline-tools/latest/ rm -rf cmdline-temp
⚠️ The folder must be named
latest — the tools won't work otherwise.5
Configure ~/.bashrc
Tell the terminal where Flutter, Android, and Java are installed by adding paths to
.bashrc.nano ~/.bashrc
Paste at the bottom of the file:
# Flutter export PATH="$PATH:$HOME/development/flutter/bin" # Android SDK export ANDROID_HOME=$HOME/development/android-sdk export ANDROID_SDK_ROOT=$ANDROID_HOME export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin export PATH=$PATH:$ANDROID_HOME/platform-tools export PATH=$PATH:$ANDROID_HOME/emulator # Java export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
6
Install Android SDK Packages
Use
sdkmanager to download platform files, build tools, emulator, and an Android 14 system image. Accept licenses first.sdkmanager --licenses sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" "emulator" "system-images;android-34;google_apis;x86_64"
7
Enable KVM (Faster Emulator)
KVM lets the emulator use your CPU for virtualization — making it run at near-native speed. Without this, the emulator will be nearly unusable.
sudo apt install cpu-checker qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils -y kvm-ok sudo adduser $USER kvm
⚠️ Log out and log back in after this step for the group change to take effect.
8
Create and Launch Emulator
Create a Pixel 6 virtual device running Android 14 and launch it. This is the device Flutter deploys to during development.
avdmanager create avd -n Pixel_API_34 -k "system-images;android-34;google_apis;x86_64" -d pixel_6 emulator -avd Pixel_API_34 -gpu host
First boot takes 1–3 minutes. Keep it running in the background.
9
Verify Everything with Flutter Doctor
Run Flutter's built-in doctor tool to confirm the setup is correct. You should see all green checkmarks.
flutter doctor
Expected output:
[✓] Flutter [✓] Android toolchain [✓] Linux toolchain [✓] Connected device [✓] Network resources
10
Create and Run Your First App
Create a sample Flutter app and run it on the emulator to confirm everything works end to end.
cd ~/development flutter create myapp cd myapp flutter run
While running: r = hot reload | R = restart | q = quit
📁
Final Directory Structure
~/development/
├── flutter/
└── android-sdk/
├── cmdline-tools/latest/
├── platform-tools/
├── platforms/android-34/
├── build-tools/34.0.0/
├── emulator/
└── system-images/android-34/google_apis/x86_64/
🔧
Troubleshooting
| Problem | Fix |
|---|---|
flutter: command not found | Run source ~/.bashrc |
sdkmanager: command not found | Check ~/development/android-sdk/cmdline-tools/latest/bin/ exists |
adb: command not found | source ~/.bashrc, confirm platform-tools PATH is set |
| Licenses not accepted | Run flutter doctor --android-licenses |
| Emulator slow / won't start | Run kvm-ok, make sure you logged out/in after adding KVM group |
| Build fails with Java error | Run java -version — must show Java 17 |