Skip to content

flutter doctor should warn if the Android (emulator) AVD version is "old" #146297

@matanlurey

Description

@matanlurey

flutter doctor currently outputs (something) like this:

% flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.0, on macOS 14.4 23E214 darwin-arm64, locale
    en)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.2)
[✓] VS Code (version 1.87.2)
[✓] Connected device (2 available)
[✓] Network resources

• No issues found!

We'd like to add a warning in the Android emulator (AVD) version is lower than an expected "newer" version.

We discovered this can be queried via:

% $ANDROID_HOME/emulator/emulator --version
33.1.17.0 (build_id 10594030)

Steps:

  • Add a warning for the emulator version
  • Work with the Impeller team to verify what that version should be

Context

As we get closer to releasing Impeller on Android, we've discovered that Vulkan and Vulkan Validation Errors were not fully supported, and even worked with the Android team to get bug fixes to avoid emulator crashes.

Emulators are a primary way many developers work on their Flutter application, especially if they are developing for Android, so it will become surprising that (older) emulator binaries crash when we switch the default to --enable-impeller.

/cc @reidbaker @christopherfujino

As I mentioned in the engine weekly, this up for grabs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: new featureNothing broken; request for a new capabilitye: impellerImpeller rendering backend issues and features requestsplatform-androidAndroid applications specificallyteam-toolOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.triaged-toolTriaged by Flutter Tool team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions