[flutter_tools] Add documentation to "cmdline-tools component is missing" doctor validation error (#83356)
diff --git a/packages/flutter_tools/lib/src/android/android_workflow.dart b/packages/flutter_tools/lib/src/android/android_workflow.dart index cca2ea5..6499bc2 100644 --- a/packages/flutter_tools/lib/src/android/android_workflow.dart +++ b/packages/flutter_tools/lib/src/android/android_workflow.dart
@@ -186,7 +186,7 @@ return ValidationResult(ValidationType.missing, messages); } if (!androidSdk.cmdlineToolsAvailable) { - messages.add(const ValidationMessage.error('cmdline-tools component is missing')); + messages.add(ValidationMessage.error(_userMessages.androidMissingCmdTools)); return ValidationResult(ValidationType.missing, messages); }
diff --git a/packages/flutter_tools/lib/src/base/user_messages.dart b/packages/flutter_tools/lib/src/base/user_messages.dart index 1a67441..cfa5540 100644 --- a/packages/flutter_tools/lib/src/base/user_messages.dart +++ b/packages/flutter_tools/lib/src/base/user_messages.dart
@@ -120,6 +120,9 @@ String androidSdkBuildToolsOutdated(String managerPath, int sdkMinVersion, String buildToolsMinVersion, Platform platform) => 'Flutter requires Android SDK $sdkMinVersion and the Android BuildTools $buildToolsMinVersion\n' 'To update the Android SDK visit ${_androidSdkInstallUrl(platform)} for detailed instructions.'; + String get androidMissingCmdTools => 'cmdline-tools component is missing\n' + 'Run `path/to/sdkmanager --install "cmdline-tools;latest"`\n' + 'See https://developer.android.com/studio/command-line for more details.'; // Messages used in AndroidStudioValidator String androidStudioVersion(String version) => 'version $version';
diff --git a/packages/flutter_tools/test/general.shard/android/android_workflow_test.dart b/packages/flutter_tools/test/general.shard/android/android_workflow_test.dart index aedc0ca..4902e6e 100644 --- a/packages/flutter_tools/test/general.shard/android/android_workflow_test.dart +++ b/packages/flutter_tools/test/general.shard/android/android_workflow_test.dart
@@ -395,11 +395,13 @@ userMessages: UserMessages(), ); + final String errorMessage = UserMessages().androidMissingCmdTools; + final ValidationResult validationResult = await androidValidator.validate(); expect(validationResult.type, ValidationType.missing); expect( validationResult.messages.last.message, - 'cmdline-tools component is missing', + errorMessage, ); });