2025 Guide: Solve Flutter Doctor Driver Info in 5 Steps
Struggling with the 'driver info' error in Flutter Doctor? Our 2025 guide provides 5 easy steps to fix missing cmdline-tools and Android license issues fast.
Michael Rodriguez
Senior Flutter Engineer specializing in app performance and cross-platform development solutions.
What is the Flutter Doctor 'Driver Info' Error, Really?
If you're a Flutter developer, you've likely met our trusty diagnostic friend, flutter doctor
. It's the first command you run to ensure your environment is healthy. But sometimes, it gives you a headache with a cryptic message under the "Android toolchain" section, often mentioning "Unable to find bundled Java version" or complaining about missing "driver info." This is one of the most common setup hurdles for both new and experienced developers, especially after an Android Studio update or on a new machine.
In 2025, this error almost always boils down to a misconfiguration between Flutter and the Android SDK, specifically concerning the command-line tools, SDK paths, or unaccepted licenses. The good news? It's entirely fixable. This guide will walk you through a reliable, 5-step process to resolve this error and get back to building beautiful apps.
Before We Begin: Prerequisites Check
Before diving into the solution, let's ensure you have the basics in place. This guide assumes you have already:
- Installed the Flutter SDK and added its
bin
directory to your system's PATH. - Installed a recent version of Android Studio (2023.x or newer is recommended).
If you haven't done these yet, please visit the official Flutter documentation for installation instructions before proceeding.
The 5-Step Solution to Fix Driver Info Errors
Follow these steps in order. Often, the issue is solved by one of the earlier steps, but completing all of them ensures a robust and future-proof setup.
Step 1: Update Android Studio & SDK Components
Your first line of defense is ensuring everything is up-to-date. Android Studio manages all the critical components Flutter needs to build for Android.
- Open Android Studio.
- Navigate to Settings/Preferences (On Windows/Linux:
File > Settings
| On macOS:Android Studio > Preferences
). - Go to Appearance & Behavior > System Settings > Android SDK.
- Click on the SDK Tools tab.
- Ensure the following items are checked and updated to the latest version:
- Android SDK Command-line Tools (latest): This is the most critical component for the 'driver info' error.
- Android SDK Build-Tools: Choose the latest stable version.
- Android SDK Platform-Tools: This should always be current.
- NDK (Side by side): While not always required, many packages depend on it. It's good practice to have a recent version installed.
- Click Apply or OK. Android Studio will download and install the selected components. This might take a few minutes.
Why this works: Outdated or missing command-line tools are the number one cause of this Flutter Doctor error. Updating them directly via the SDK manager is the most reliable way to get the correct versions.
Step 2: Install and Configure the Correct Command-Line Tools
Even after installing the tools in Step 1, Flutter might not know where to find them. We need to tell it. This involves setting the correct path configuration for Android's command-line tools.
Run the following command in your terminal:
flutter config --android-sdk /path/to/your/android/sdk
You can find your Android SDK path in the same Android Studio settings window from Step 1 (at the top, labeled "Android SDK Location").
- On Windows, it's typically:
C:\Users\YourUser\AppData\Local\Android\sdk
- On macOS, it's typically:
/Users/YourUser/Library/Android/sdk
- On Linux, it's typically:
/home/YourUser/Android/sdk
Why this works: While Flutter is good at auto-detecting the SDK, environment variables or multiple installations can confuse it. This command explicitly sets the correct SDK path, eliminating any ambiguity.
Step 3: Accept All Android Licenses
This is a classic "did you forget to plug it in?" moment for Flutter developers. Even if all tools are installed, you cannot use them until you've accepted Google's terms of service. flutter doctor
will often flag this, but sometimes the error message can be misleading.
Run this simple command in your terminal:
flutter doctor --android-licenses
The tool will scan for all required licenses and prompt you to review and accept them. Type y
and press Enter for each one until all licenses are accepted.
If this command fails with an error like "java.lang.NoClassDefFoundError", it points to a deeper issue with your Java installation, which we'll address in the next step.
Why this works: The Android SDK is protected by licenses you must agree to before the build tools can be invoked. This command automates the acceptance process, which is a mandatory step for the toolchain to be considered valid.
Step 4: Verify Your Java Development Kit (JDK) Path
Flutter and Android Studio are now bundled with their own Java runtime (JBR), which simplifies setup. However, system-wide JAVA_HOME
environment variables can sometimes override this and point to an incompatible or missing JDK, causing the "Unable to find bundled Java version" error.
Here's how to ensure everything points to the right place:
- Let Android Studio manage the JDK: In Android Studio, go back to Settings/Preferences > Build, Execution, Deployment > Build Tools > Gradle.
- Under Gradle JDK, select the bundled JDK. It will usually be labeled with a version and "(jbr-17)" or similar. This is the most stable option.
- Check your system's `JAVA_HOME` (Optional but recommended):
- On Windows: Open Command Prompt and type
echo %JAVA_HOME%
. - On macOS/Linux: Open Terminal and type
echo $JAVA_HOME
.
- On Windows: Open Command Prompt and type
Why this works: By aligning the Gradle JDK with the one bundled in Android Studio, you create a consistent and self-contained build environment. This prevents conflicts from other Java versions installed on your system.
Step 5: Run the Final Check with `flutter doctor -v`
Now for the moment of truth. Close and reopen your terminal to ensure all path changes are applied, and then run the verbose version of flutter doctor
:
flutter doctor -v
The -v
(verbose) flag provides more detailed output, which is helpful for diagnostics. If you've followed the steps correctly, the "Android toolchain" section should now show a green checkmark. It will list the paths it found for the SDK, Java, and `adb`, confirming that your configuration is correct.
Success looks like this:
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/youruser/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
• All Android licenses accepted.
Common `flutter doctor` Errors at a Glance
Here's a quick reference table to help you map common error messages to the solutions in this guide.
Error Message Fragment | Likely Cause | Primary Solution Step |
---|---|---|
cmdline-tools component is missing |
The command-line tools were not installed via the SDK Manager. | Step 1 |
Android license status unknown. |
You have not yet run the license acceptance command. | Step 3 |
Unable to find bundled Java version. |
JAVA_HOME is misconfigured or pointing to an incompatible JDK. |
Step 4 |
Android SDK at [path]... but Android SDK not found at that location. |
The SDK path configured in Flutter is incorrect or has changed. | Step 2 |
Still Stuck? Advanced Troubleshooting Tips
If you're still facing issues after completing all five steps, here are a few extra things to try:
- Run `flutter clean`: In your Flutter project directory, run this command to clear out any old build artifacts that might be causing issues.
- Invalidate Caches in Android Studio: Go to
File > Invalidate Caches / Restart...
and select "Invalidate and Restart". This can resolve strange caching issues within the IDE. - Check for Multiple Android SDKs: Sometimes, you might have multiple SDKs installed. Ensure your system PATH and Flutter config are both pointing to the exact same one.