Skip to content

flutter doctor reports Android license status unknown with Android SDK Command-line Tools 23.0 #191487

Description

@preethi0228-git

Steps to reproduce

  1. Install Android SDK Command-line Tools version 23.0.
  2. 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
  1. Run:
    flutter doctor -v
  2. Observe:
[!] Android toolchain - develop for Android devices
     ✗ Android license status unknown.
  1. Run flutter doctor --android-licenses to accept the SDK licenses.
  2. Run the command suggested by Flutter:
    flutter doctor --android-licenses
  3. 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

  1. added
    platform-androidAndroid applications specifically
    toolAffects the "flutter" command-line tool. See also t: labels.
    has reproducible stepsThe issue has been confirmed reproducible and is ready to work on
    team-androidOwned by Android platform team
    on Aug 21, 2026
  2. ik020 commented on Aug 22, 2026

    @ik020
    Contributor

    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 android CLI directly.

  3. sharpsaravanan commented on Aug 23, 2026

    @sharpsaravanan

    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-licenses to accept the SDK licenses.
    See https://flutter.dev/to/windows-android-setup for more details.'

  4. ik020 commented on Aug 23, 2026

    @ik020
    Contributor

    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.

  5. M-K-Al commented on Aug 23, 2026

    @M-K-Al

    Google updated the Android SDK Command-line Tools (v23+), deprecating sdkmanager in favor of the new android CLI. Flutter's flutter doctor --android-licenses command still relies on the old sdkmanager interface, which causes the command to exit early without displaying the interactive license prompts.

    To fix this, install Android SDK Command-line Tools version 22:

    1. Open Android Studio.
    2. Go to Tools > SDK Manager (or Settings > Languages & Frameworks > Android SDK).
    3. Select the SDK Tools tab.
    4. Check Show Package Details in the bottom-right corner.
    5. Expand Android SDK Command-line Tools.
    6. Uncheck version 23.0 (or whatever latest version is installed) and check version 22.0.
    7. Click Apply to complete the downgrade.
    8. Re-open PowerShell and run flutter doctor --android-licenses.
  6. StephenJarso commented on Aug 23, 2026

    @StephenJarso

    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."

  7. conkegole-sys commented on Aug 25, 2026

    @conkegole-sys

    Environment

    • Flutter version: 3.47.1
    • OS: Windows 10
    • Android SDK: 36.0.0
    • Android SDK Command-line Tools: 23.0
    • Java: OpenJDK 17

    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.

  8. conkegole-sys commented on Aug 25, 2026

    @conkegole-sys

    Environment

    • Flutter version: 3.47.1
    • OS: Windows 10
    • Android SDK: 36.0.0
    • Android SDK Command-line Tools: 23.0
    • Java: OpenJDK 17

    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.

  9. mrainc commented on Aug 25, 2026

    @mrainc

    downgrading to 22 worked, although latest (23) got a glitch. unable to uninstall.

  10. mboetger commented on Aug 25, 2026

    @mboetger
    Contributor

    Related: 189936

  11. added
    P1High-priority issues at the top of the work list
    triaged-androidTriaged by Android platform team
    on Aug 25, 2026
  12. added a commit that references this issue on Aug 29, 2026
    9d0f24e
  13. preethi0228-git commented on Aug 31, 2026

    @preethi0228-git
    Author

    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!

  14. github-actions commented on Sep 14, 2026

    @github-actions

    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 -v and a minimal reproduction of the issue.

  15. locked as resolved and limited conversation to collaborators on Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listfrom: manual-qaIssue caught from manual QA processhas reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-androidAndroid applications specificallyteam-androidOwned by Android platform teamtoolAffects the "flutter" command-line tool. See also t: labels.triaged-androidTriaged by Android platform team

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions