Fall-back to platform tools in Android SDK detection logic. (#28863)

diff --git a/packages/flutter_tools/lib/src/android/android_sdk.dart b/packages/flutter_tools/lib/src/android/android_sdk.dart
index 72545e0..99bba9f 100644
--- a/packages/flutter_tools/lib/src/android/android_sdk.dart
+++ b/packages/flutter_tools/lib/src/android/android_sdk.dart
@@ -365,6 +365,14 @@
   }
 
   static bool validSdkDirectory(String dir) {
+    return sdkDirectoryHasLicneses(dir) || sdkDirectoryHasPlatformTools(dir);
+  }
+
+  static bool sdkDirectoryHasPlatformTools(String dir) {
+    return fs.isDirectorySync(fs.path.join(dir, 'platform-tools'));
+  }
+
+  static bool sdkDirectoryHasLicneses(String dir) {
     return fs.isDirectorySync(fs.path.join(dir, 'licenses'));
   }
 
diff --git a/packages/flutter_tools/lib/src/application_package.dart b/packages/flutter_tools/lib/src/application_package.dart
index 61a13bf..40067c2 100644
--- a/packages/flutter_tools/lib/src/application_package.dart
+++ b/packages/flutter_tools/lib/src/application_package.dart
@@ -14,6 +14,7 @@
 import 'base/file_system.dart';
 import 'base/os.dart' show os;
 import 'base/process.dart';
+import 'base/user_messages.dart';
 import 'build_info.dart';
 import 'globals.dart';
 import 'ios/ios_workflow.dart';
@@ -94,7 +95,7 @@
   factory AndroidApk.fromApk(File apk) {
     final String aaptPath = androidSdk?.latestVersion?.aaptPath;
     if (aaptPath == null) {
-      printError('Unable to locate the Android SDK; please run \'flutter doctor\'.');
+      printError(userMessages.aaptNotFound);
       return null;
     }
 
diff --git a/packages/flutter_tools/lib/src/base/user_messages.dart b/packages/flutter_tools/lib/src/base/user_messages.dart
index b1778e4..1c30cdd 100644
--- a/packages/flutter_tools/lib/src/base/user_messages.dart
+++ b/packages/flutter_tools/lib/src/base/user_messages.dart
@@ -115,6 +115,8 @@
   String get androidStudioResetDir =>
       'Consider removing your android-studio-dir setting by running:\n'
       'flutter config --android-studio-dir=';
+  String get aaptNotFound =>
+      'Could not locate aapt. Please ensure you have the Android buildtools installed.';
 
   // Messages used in NoAndroidStudioValidator
   String androidStudioMissing(String location) =>