Repository navigation
Description
Steps to reproduce
- Install Android SDK Command-line Tools version 23.0.
- Verify the installed command-line tools version:
cat /Users//Library/Android/sdk/cmdline-tools/latest/source.properties
Output:
Pkg.Revision=23.0
Pkg.Path=cmdline-tools;23.0
Pkg.Desc=Android SDK Command-line Tools
- Run:
flutter doctor -v - Observe:
[!] Android toolchain - develop for Android devices
✗ Android license status unknown.
- Run
flutter doctor --android-licensesto accept the SDK licenses. - Run the command suggested by Flutter:
flutter doctor --android-licenses - Observe that no licenses are displayed for acceptance. Instead, the following output is shown:
The 'android' binary can also be found in the cmdline-tools directory, and 'android sdk' is the replacement for 'sdkmanager'.
To learn more about the Android CLI and how to use it, see the documentation:
https://d.android.com/tools/agents/android-cli
Warning: The --licenses option is no longer needed.
8.The same behavior occurs when directly running:
/Users//Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --licenses
Expected results
flutter doctor should correctly determine the Android SDK license status and report:
✓ All Android licenses accepted.
Alternatively, if Android SDK Command-line Tools 23.0 has changed the license workflow and --licenses is no longer required, Flutter should support the new Android CLI behavior instead of reporting the license status as unknown.
flutter doctor --android-licenses should also not direct users into a workflow that the installed Android SDK tools no longer support.
Actual results
flutter doctor -v reports:
✗ Android license status unknown.
Running the recommended command:
flutter doctor --android-licenses
does not provide an option to accept licenses and instead returns:
The SDK Manager CLI tool (sdkmanager) is deprecated. Android CLI will be used instead.
Warning: The --licenses option is no longer needed.
Additional investigation
The Android SDK Command-line Tools are installed correctly:
ls /Users/<username>/Library/Android/sdk/cmdline-tools
Output:
latest
- The expected binaries are present:
ls /Users/<username>/Library/Android/sdk/cmdline-tools/latest/bin - Output includes:
android
sdkmanager
avdmanager
apkanalyzer
-
The installed command-line tools version is:
Pkg.Revision=23.0 -
The Android SDK license directory is also present and contains license files:
ls /Users/<username>/Library/Android/sdk/licenses
Output:
android-googletv-license
android-googlexr-license
android-sdk-arm-dbt-license
android-sdk-license
android-sdk-preview-license
google-gdk-license
mips-android-sysimage-license
-
The new Android CLI is functional and can list installed packages using:
/Users//Library/Android/sdk/cmdline-tools/latest/bin/android sdk list -
It successfully lists installed packages, including:
cmdline-tools/latest 23.0.0
platform-tools 37.0.1
build-tools/37.0.0 37.0.0
platforms/android-37.0 2.0.0
emulator 37.1.11
-
A Flutter Android build also succeeds:
flutter build apk --debug -
Result:
✓ Built build/app/outputs/flutter-apk/app-debug.apk
This suggests that the Android SDK itself is functional and that the issue is specifically with flutter doctor license-status detection.
Regression / comparison
- On the previous day, using the same Flutter version and framework revision:
Flutter version 3.47.1
Framework revision 6655482
flutter doctor -v successfully reported:
[✓] Android toolchain - develop for Android devices
...
• All Android licenses accepted.
- The current failing output uses the same:
Flutter version: 3.47.1
Framework revision: 6655482
Android SDK version: 37.0.0
but now reports:
✗ Android license status unknown.
Code sample
Code sample
[Paste your code here]Screenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
[!] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [533ms]
• Android SDK at /Users/preethikandukuri/Library/Android/sdk
• Emulator version 37.1.11.0 (build_id 15917651) (CL:N/A)
• Platform android-37.0, build-tools 37.0.0
• ANDROID_HOME = /Users/preethikandukuri/Library/Android/sdk
• Java binary at: /Applications/Android Studio RC.app/Contents/jbr/Contents/Home/bin/java
This JDK is specified in your Flutter configuration.
To change the current JDK, run: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 25.0.3+-15898627-b508.16)
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/to/macos-android-setup for more details.
! Doctor found issues in 1 category.
preethikandukuri@Preethis-MacBook-Pro ~ % flutter doctor --android-licenses
WARNING: The SDK Manager CLI tool (sdkmanager) is deprecated. Android CLI will be used instead.
The 'android' binary can also be found in the cmdline-tools directory, and 'android sdk' is the replacement for 'sdkmanager'.
To learn more about the Android CLI and how to use it, see the documentation (https://d.android.com/tools/agents/android-cli)
Warning: The --licenses option is no longer needed.Flutter Doctor output
Doctor output
Todays flutter doctor output after commandline tools update
[✓] Flutter (Channel stable, 3.47.1, on macOS 27.0 26A5416b darwin-arm64, locale en-US) [304ms]
• Flutter version 3.47.1 on channel stable at /Users/preethikandukuri/development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 6655482ec0 (2 days ago), 2026-08-19 10:07:23 -0700
• Engine revision 5d53178869
• Dart version 3.13.1
• DevTools version 2.60.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android,
enable-ios, cli-animations, enable-native-assets, enable-record-use, enable-swift-package-manager,
omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration
[!] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [533ms]
• Android SDK at /Users/preethikandukuri/Library/Android/sdk
• Emulator version 37.1.11.0 (build_id 15917651) (CL:N/A)
• Platform android-37.0, build-tools 37.0.0
• ANDROID_HOME = /Users/preethikandukuri/Library/Android/sdk
• Java binary at: /Applications/Android Studio RC.app/Contents/jbr/Contents/Home/bin/java
This JDK is specified in your Flutter configuration.
To change the current JDK, run: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 25.0.3+-15898627-b508.16)
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/to/macos-android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 27.0) [695ms]
• Xcode at /Applications/Xcodebeta275.app/Contents/Developer
• Build 27A5237l
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [4ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Connected device (3 available) [6.1s]
• iPad (wireless) (mobile) • 00008122-001A08DC22B9801C • ios • iOS 27.0 24A5418b
• macOS (desktop) • macos • darwin-arm64 • macOS 27.0 26A5416b darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 151.0.7922.138
[✓] Network resources [657ms]
• All expected network resources are available.
! Doctor found issues in 1 category.
Yesterdays flutter doctor output
Doctor output
[✓] Flutter (Channel stable, 3.47.1, on macOS 27.0 26A5416b darwin-arm64, locale en-US) [203ms]
• Flutter version 3.47.1 on channel stable at /Users/preethikandukuri/development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 6655482ec0 (18 hours ago), 2026-08-19 10:07:23 -0700
• Engine revision 5d53178869
• Dart version 3.13.1
• DevTools version 2.60.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android,
enable-ios, cli-animations, enable-native-assets, enable-record-use, enable-swift-package-manager,
omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration
[✓] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [826ms]
• Android SDK at /Users/preethikandukuri/Library/Android/sdk
• Emulator version 37.1.11.0 (build_id 15917651) (CL:N/A)
• Platform android-37.0, build-tools 37.0.0
• ANDROID_HOME = /Users/preethikandukuri/Library/Android/sdk
• Java binary at: /Applications/Android Studio RC.app/Contents/jbr/Contents/Home/bin/java
This JDK is specified in your Flutter configuration.
To change the current JDK, run: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 25.0.3+-15898627-b508.16)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 27.0) [451ms]
• Xcode at /Applications/Xcodebeta275.app/Contents/Developer
• Build 27A5237l
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [4ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Connected device (3 available) [5.9s]
• iPad (wireless) (mobile) • 00008122-001A08DC22B9801C • ios • iOS 27.0 24A5418b
• macOS (desktop) • macos • darwin-arm64 • macOS 27.0 26A5416b darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 151.0.7922.138
[✓] Network resources [2.3s]
• All expected network resources are available.
• No issues found!
Activity
ik020 commentedon Aug 22, 2026
Confirming this reproduces on Windows too, not just macOS:
Flutter 3.47.1 (Channel stable), Android SDK 37.0.0, cmdline-tools 23.0 (deprecated sdkmanager)
flutter doctor -v shows:
X Android license status unknown.
Running flutter doctor --android-licenses returns:
WARNING: The SDK Manager CLI tool (sdkmanager) is deprecated. Android CLI will be used instead.
Warning: The --licenses option is no longer needed.
Root cause looks like it's in packages/flutter_tools/lib/src/android/android_workflow.dart -
the licensesAccepted getter only matches a few specific regexes against sdkmanager's stdout
(e.g. "All SDK package licenses accepted."), and none of them match the new wrapper's
deprecation/warning text, so status stays null and falls back to LicensesAccepted.unknown.
Happy to help with a PR if that's useful - adding a regex for
"--licenses option is no longer needed" and treating it as LicensesAccepted.all looks
like a minimal fix, though maintainers may prefer detecting the new
androidCLI directly.sharpsaravanan commentedon Aug 23, 2026
Error after flutter upgrade '[!] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [496ms]
• Android SDK at C:\Users\sharp\AppData\Local\Android\Sdk
• Emulator version 37.1.11.0 (build_id 15917651) (CL:N/A)
• Platform android-37.0, build-tools 37.0.0
• Java binary at: C:\Program Files\Android\Android Studio1\jbr\bin\java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use:
flutter config --jdk-dir="path/to/jdk".• Java version OpenJDK Runtime Environment (build 25.0.2+-15348964-b329.117)
X Android license status unknown.
Run
flutter doctor --android-licensesto accept the SDK licenses.See https://flutter.dev/to/windows-android-setup for more details.'
ik020 commentedon Aug 23, 2026
Update: I tested my proposed fix idea (treating "no longer needed" as LicensesAccepted.all) and it's not safe. I temporarily renamed /licenses on Windows (cmdline-tools 23.0) and reran sdkmanager --licenses - the output was byte-for-byte identical with or without the licenses directory present. So that warning text isn't a reliable signal of actual acceptance state; treating it as all would make flutter doctor report false positives when licenses genuinely aren't accepted.
I also checked the new android CLI's --help output (sdk, sdk install, info) - there's no license-status subcommand or flag exposed anywhere in this version.
The license state itself is still tracked on disk as SHA-1 hashes under /licenses/ (e.g. android-sdk-license), which is presumably what Gradle checks directly (Gradle builds still succeed after this cmdline-tools update, only flutter doctor regresses). Checking those files directly, rather than parsing sdkmanager stdout, looks like the only reliable path forward for the new CLI. Happy to put together a PR along those lines if that direction sounds right to the team.
M-K-Al commentedon Aug 23, 2026
Google updated the Android SDK Command-line Tools (v23+), deprecating
sdkmanagerin favor of the newandroidCLI. Flutter'sflutter doctor --android-licensescommand still relies on the oldsdkmanagerinterface, which causes the command to exit early without displaying the interactive license prompts.To fix this, install Android SDK Command-line Tools version 22:
flutter doctor --android-licenses.StephenJarso commentedon Aug 23, 2026
Confirming this workaround also fixes the issue on Ubuntu 24.04 with Android SDK 36. Downgrading cmdline-tools to v22 allowed flutter doctor --android-licenses to complete successfully."
conkegole-sys commentedon Aug 25, 2026
Environment
Problem
"flutter doctor" reports:
[!] Android toolchain - develop for Android devices
! Android license status unknown.
When I try to run:
flutter doctor --android-licenses
Flutter returns:
Could not find an option named "--android-licenses".
I also tried running "sdkmanager.bat --licenses" directly. It reports that the "--licenses" option is no longer needed.
The Android SDK is correctly installed and detected by Flutter, so the issue seems to be related to the compatibility between Flutter 3.47.1 and Android SDK Command-line Tools 23.0.
Expected behavior
Flutter should be able to detect and verify the Android SDK licenses normally, or provide an updated way to accept/check the licenses with the new Command-line Tools.
Additional information
The Android SDK itself is working and is detected correctly by Flutter. The problem appears specifically after using Command-line Tools 23.0.
conkegole-sys commentedon Aug 25, 2026
Environment
Problem
"flutter doctor" reports:
[!] Android toolchain - develop for Android devices
! Android license status unknown.
When I try to run:
flutter doctor --android-licenses
Flutter returns:
Could not find an option named "--android-licenses".
I also tried running "sdkmanager.bat --licenses" directly. It reports that the "--licenses" option is no longer needed.
The Android SDK is correctly installed and detected by Flutter, so the issue seems to be related to the compatibility between Flutter 3.47.1 and Android SDK Command-line Tools 23.0.
Expected behavior
Flutter should be able to detect and verify the Android SDK licenses normally, or provide an updated way to accept/check the licenses with the new Command-line Tools.
Additional information
The Android SDK itself is working and is detected correctly by Flutter. The problem appears specifically after using Command-line Tools 23.0.
mrainc commentedon Aug 25, 2026
downgrading to 22 worked, although latest (23) got a glitch. unable to uninstall.
mboetger commentedon Aug 25, 2026
Related: 189936
Fix Android license detection for cmdline-tools 23.0+ (flutter#191554)
preethi0228-git commentedon Aug 31, 2026
Verified the issue in latest Master channel (3.48.0-1.0.pre-524,) and the bug is no more repro. Not seeing android license status as unknown. Please find the flutter doctor output for the same.
Flutter Doctor Output
[✓] Flutter (Channel master, 3.48.0-1.0.pre-524, on macOS 27.0 26A5421a darwin-arm64, locale en-US) [1,364ms]
• Flutter version 3.48.0-1.0.pre-524 on channel master at /Users/preethikandukuri/development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision f5f6313 (4 hours ago), 2026-08-31 05:22:09 +0000
• Engine revision f5f6313
• Dart version 3.14.0 (build 3.14.0-180.0.dev)
• DevTools version 2.61.0-dev.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android,
enable-ios, cli-animations, enable-native-assets, enable-record-use, enable-swift-package-manager,
omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration, enable-riscv64, enable-hcpp
[✓] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [455ms]
• Android SDK at /Users/preethikandukuri/Library/Android/sdk
• Emulator version 37.1.11.0 (build_id 15917651) (CL:N/A)
• Platform android-37.0, build-tools 37.0.0
• ANDROID_HOME = /Users/preethikandukuri/Library/Android/sdk
• Java binary at: /Applications/Android Studio RC.app/Contents/jbr/Contents/Home/bin/java
This JDK is specified in your Flutter configuration.
To change the current JDK, run:
flutter config --jdk-dir="path/to/jdk".• Java version OpenJDK Runtime Environment (build 25.0.3+-15898627-b508.16)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 27.0) [657ms]
• Xcode at /Applications/Xcode-beta276.app/Contents/Developer
• Build 27A5252f
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [4ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Connected device (5 available) [6.0s]
• sdk gphone16k arm64 (mobile) • emulator-5554 • android-arm64 • Android 17 (API 37)
(emulator)
• iPad (wireless) (mobile) • 00008122-001A08DC22B9801C • ios • iOS 27.0 24A5424a
• iPhone 17 Pro (mobile) • 6A22C9A6-0DD2-4ADA-84BB-ECB0DDE39E6C • ios •
com.apple.CoreSimulator.SimRuntime.iOS-27-0 (simulator)
• macOS (desktop) • macos • darwin-arm64 • macOS 27.0 26A5421a
darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 152.0.7977.65
[✓] Network resources [893ms]
• All expected network resources are available.
• No issues found!
[CP-stable]Fix Android license detection for cmdline-tools 23.0+ (#19…
[CP-beta]Fix Android license detection for cmdline-tools 23.0+ (#192132)
github-actions commentedon Sep 14, 2026
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.