Introduction to Android SDK for Flutter Developers
To compile and run Flutter applications on Android devices or emulators, you need the Android Software Development Kit (SDK). The SDK provides essential build tools, platform utilities, system images, and the Android Debug Bridge (ADB) required for debugging.
Whether you are setting up your local workspace or building a headless continuous integration (CI) pipeline, knowing how to properly download Android SDK components is a critical step for modern cross-platform engineering.
Method 1: Download Android SDK via Android Studio (Recommended)
The standard and easiest approach to download Android SDK components is using the graphical SDK Manager inside Android Studio.
Step 1: Install Android Studio
Download and install Android Studio from the official Android developer portal. Launch the application and run through the initial Setup Wizard, which automatically selects standard SDK packages for installation.
Step 2: Access the SDK Manager
If you need custom components or need to update existing platform tools:
- Open Android Studio.
- Navigate to Settings (or Preferences on macOS) > Appearance & Behavior > System Settings > Android SDK.
- Under the SDK Platforms tab, select the target Android API levels (e.g., Android 14.0 / API Level 34).
- Under the SDK Tools tab, ensure the following essential packages are checked:
- Android SDK Build-Tools
- Android SDK Command-line Tools (latest)
- Android SDK Platform-Tools
- Android Emulator
- Click Apply and confirm to start downloading the selected Android SDK packages.
Note: Flutter specifically requires the Android SDK Command-line Tools (latest). If this tool package is missing,
flutter doctorwill report missing licenses or SDK validation errors.
Method 2: Download Android SDK Command-Line Tools Only (Headless / CI Environment)
If you are working on a dedicated build machine, server, or Docker container where installing a GUI application like Android Studio is unnecessary, you can download Android SDK command-line utilities directly.
Step 1: Download the Command-line Tools Package
Download the latest Command-line Tools package ZIP for your operating system (Linux, macOS, or Windows) from the official Android Studio download page under the "Command line tools only" section.
Step 2: Directory Structure Setup
Unpack the downloaded archive into a structured directory. The sdkmanager utility expects a specific directory layout:
mkdir -p ~/android-sdk/cmdline-tools
unzip commandlinetools-mac-*_latest.zip -d ~/android-sdk/cmdline-tools
mv ~/android-sdk/cmdline-tools/cmdline-tools ~/android-sdk/cmdline-tools/latestStep 3: Install SDK Packages Using sdkmanager
Use the sdkmanager CLI binary to accept licenses and install required platforms and build tools:
# Navigate to the bin directory
cd ~/android-sdk/cmdline-tools/latest/bin
# Accept all licenses
yes | ./sdkmanager --licenses
# Download Android SDK platform tools and target platforms
./sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"Configuring System Environment Variables
After you download Android SDK packages, you must configure environment variables so that system terminals and Flutter tools can discover the binaries.
On Linux and macOS (zsh/bash)
Add the following export statements to your shell configuration file (e.g., ~/.zshrc or ~/.bashrc):
export ANDROID_HOME=$HOME/Library/Android/sdk # Change path if installed manually
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/build-toolsApply changes by running source ~/.zshrc.
On Windows
- Open System Properties > Environment Variables.
- Add a new User variable named
ANDROID_HOMEpointing toC:\Users\<Your-Username>\AppData\Local\Android\Sdk. - Edit the
Pathvariable to append the paths toplatform-tools,cmdline-tools\latest\bin, andemulator.
Linking Android SDK with Flutter
Once you download Android SDK components and configure the system path, link the SDK location explicitly with Flutter if it is not auto-detected:
flutter config --android-sdk "/path/to/your/android-sdk"Finally, run the license acceptance command to ensure build tools are fully authorized:
flutter doctor --android-licensesVerifying Installation via Flutter Doctor
Execute the following command to verify your environment setup:
flutter doctorIf all required SDK tools are downloaded and linked correctly, your output will show a checkmark next to the Android toolchain section:
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/username/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• All Android licenses accepted.Summary
Whether you choose the graphical interface of Android Studio or script the download using command-line tools for CI pipelines, having an accurately installed Android SDK environment is mandatory for Flutter apps targeting Android devices. Keep your build tools updated to maintain compatibility with new API levels and Gradle releases.
Frequently Asked Questions
Can I download Android SDK without installing Android Studio?
Yes, you can download the Command-line tools package directly from the official Android developer website and use the sdkmanager command-line utility to install the required Android SDK components.
Where is the default Android SDK location installed?
On Windows, it is typically located at %LOCALAPPDATA%\Android\Sdk. On macOS, it is at ~/Library/Android/sdk. On Linux, it is usually installed at ~/Android/Sdk.
How do I fix the 'Android license status unknown' error in Flutter?
Run the command 'flutter doctor --android-licenses' in your terminal and accept all prompt conditions. Ensure you have installed 'Android SDK Command-line Tools (latest)' via SDK Manager first.