Developer guide · Windows and Mac
Fix 'Android license status unknown' in flutter doctor
By Aqib Javed · Updated Nov 2, 2026
Run flutter doctor --android-licenses and type y for each license. If the status stays unknown, Flutter can't run sdkmanager: install Android SDK Command-line Tools (latest) in Android Studio under Tools > SDK Manager > SDK Tools, and point Flutter at a recent JDK with flutter config --jdk-dir. With Command-line Tools 23.0, update to Flutter 3.47.3 or later, which reads the licenses differently. Stackyard can point Flutter at a JDK your apps accept.
What the message means
- The Android SDK Command-line Tools aren't installed, so there is no sdkmanager. Flutter doesn't use the old tools folder for this.
- sdkmanager starts with a Java that's too old for it and crashes.
- You have Command-line Tools 23.0 or later with Flutter 3.47.2 or earlier, which can't read the new output.
flutter doctor checks the licenses by running the Android SDK's sdkmanager --licenses and reading its answer. Unknown means it couldn't run sdkmanager or couldn't read what it printed. That has three usual causes:
How to accept the Android licenses
- Run flutter doctor --android-licenses in a terminal.
- Read each license and type y. Repeat until it says all licenses are accepted.
- Run flutter doctor again. The Android toolchain line should show a check mark.
flutter doctor --android-licenses
flutter doctor
# the same through sdkmanager, Mac
~/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --licenses
# Windows (Command Prompt)
%LOCALAPPDATA%\Android\Sdk\cmdline-tools\latest\bin\sdkmanager.bat --licensesFix 1: install the command-line tools
- Open Android Studio, then Tools > SDK Manager. From the welcome screen it's More Actions > SDK Manager.
- Switch to the SDK Tools tab.
- Tick Android SDK Command-line Tools (latest), click Apply, then OK.
- Run flutter doctor --android-licenses again.
If flutter doctor -v shows a different Android SDK at line than the folder Android Studio uses, Flutter is looking at another SDK. Run flutter config --android-sdk with the right folder: ~/Library/Android/sdk on a Mac or %LOCALAPPDATA%\Android\Sdk on Windows, by default.
Fix 2: a Java version mismatch
If flutter doctor -v or --android-licenses prints java.lang.UnsupportedClassVersionError with "class file version 61.0", the tools were built for Java 17 and an older Java ran them (55.0 is Java 11, 52.0 is Java 8). Flutter runs sdkmanager with the JDK it picks in this order: flutter config --jdk-dir, Android Studio's bundled JDK, JAVA_HOME, then java on PATH. flutter doctor -v names it on the Java binary at line. Point Flutter at Android Studio's bundled JDK or another JDK 17 or newer:
# Mac
flutter config --jdk-dir="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
# Windows
flutter config --jdk-dir="C:\Program Files\Android\Android Studio\jbr"Fix 3: Command-line Tools 23.0 says --licenses is no longer needed
Android SDK Command-line Tools 23.0 mark sdkmanager as deprecated in favour of the new android command, and sdkmanager --licenses now only prints that the option is no longer needed. Flutter 3.47.2 and earlier read that as unknown (Flutter issue 191487). Flutter 3.47.3, released September 9, 2026, checks the SDK's licenses folder instead. Run flutter upgrade, or fvm use with a newer version if you pin Flutter with FVM.
If you have to stay on an older Flutter, the workaround reported in that issue is to go back to Command-line Tools 22.0: in SDK Manager > SDK Tools, tick Show Package Details, untick the latest entry under Android SDK Command-line Tools and tick 22.0.
Where Stackyard helps
Stackyard doesn't run or read flutter doctor. It finds every Android SDK on the machine, lists the platforms, build-tools, NDKs and system images in each with their sizes, and flags a second SDK folder along with the projects whose local.properties point to it, a common reason Flutter looks in the wrong place. It also checks which Java each Flutter app's Gradle and Android Gradle Plugin accept, and when Flutter builds with one outside that range it offers Point Flutter at JDK N, which runs flutter config --jdk-dir. On Windows its doctor also fixes a JAVA_HOME or ANDROID_HOME that points to a missing folder. It's free and open source.
Questions
How do I accept Android licenses in Flutter?
- Run flutter doctor --android-licenses and type y at each prompt. It needs the Android SDK Command-line Tools installed.
Why does flutter doctor --android-licenses say sdkmanager not found?
- The Android SDK Command-line Tools aren't installed in the SDK Flutter uses. Install Android SDK Command-line Tools (latest) from Android Studio's SDK Manager, SDK Tools tab, or check the SDK path with flutter doctor -v.
Do I need Android Studio to accept the Android licenses?
- No. With the command-line tools in your SDK, flutter doctor --android-licenses or sdkmanager --licenses accepts them from a terminal. Command-line Tools 23.0 and later drop that prompt, so Flutter 3.47.3 and later check the SDK's licenses folder instead.
Where are accepted Android licenses stored?
- In the licenses folder inside the Android SDK, such as ~/Library/Android/sdk/licenses on a Mac. Flutter 3.47.3 and later read that folder when sdkmanager doesn't report a status.
How do I see which Java flutter doctor uses?
- Run flutter doctor -v. The Android toolchain section shows the Java binary path and version, and says whether it came from Android Studio, JAVA_HOME or flutter config.