[flutter_tool] Remove some async file io (#38654)

diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart
index fa8a198..c29458a 100644
--- a/packages/flutter_tools/lib/src/commands/create.dart
+++ b/packages/flutter_tools/lib/src/commands/create.dart
@@ -407,7 +407,7 @@
         break;
     }
     if (sampleCode != null) {
-      generatedFileCount += await _applySample(relativeDir, sampleCode);
+      generatedFileCount += _applySample(relativeDir, sampleCode);
     }
     printStatus('Wrote $generatedFileCount files.');
     printStatus('\nAll done!');
@@ -566,13 +566,13 @@
   // documentation website in sampleCode.  Returns the difference in the number
   // of files after applying the sample, since it also deletes the application's
   // test directory (since the template's test doesn't apply to the sample).
-  Future<int> _applySample(Directory directory, String sampleCode) async {
+  int _applySample(Directory directory, String sampleCode) {
     final File mainDartFile = directory.childDirectory('lib').childFile('main.dart');
-    await mainDartFile.create(recursive: true);
-    await mainDartFile.writeAsString(sampleCode);
+    mainDartFile.createSync(recursive: true);
+    mainDartFile.writeAsStringSync(sampleCode);
     final Directory testDir = directory.childDirectory('test');
     final List<FileSystemEntity> files = testDir.listSync(recursive: true);
-    await testDir.delete(recursive: true);
+    testDir.deleteSync(recursive: true);
     return -files.length;
   }
 
diff --git a/packages/flutter_tools/lib/src/commands/packages.dart b/packages/flutter_tools/lib/src/commands/packages.dart
index 6078a17..510e9bf 100644
--- a/packages/flutter_tools/lib/src/commands/packages.dart
+++ b/packages/flutter_tools/lib/src/commands/packages.dart
@@ -79,9 +79,9 @@
       return usageValues;
     }
     final FlutterProject rootProject = FlutterProject.fromPath(target);
-    final bool hasPlugins = await rootProject.flutterPluginsFile.exists();
+    final bool hasPlugins = rootProject.flutterPluginsFile.existsSync();
     if (hasPlugins) {
-      final int numberOfPlugins = (await rootProject.flutterPluginsFile.readAsLines()).length;
+      final int numberOfPlugins = (rootProject.flutterPluginsFile.readAsLinesSync()).length;
       usageValues[CustomDimensions.commandPackagesNumberPlugins] = '$numberOfPlugins';
     } else {
       usageValues[CustomDimensions.commandPackagesNumberPlugins] = '0';
diff --git a/packages/flutter_tools/lib/src/commands/screenshot.dart b/packages/flutter_tools/lib/src/commands/screenshot.dart
index e98f6ed..bda6f33 100644
--- a/packages/flutter_tools/lib/src/commands/screenshot.dart
+++ b/packages/flutter_tools/lib/src/commands/screenshot.dart
@@ -106,7 +106,7 @@
     } catch (error) {
       throwToolExit('Error taking screenshot: $error');
     }
-    await showOutputFileInfo(outputFile);
+    _showOutputFileInfo(outputFile);
   }
 
   Future<void> runSkia(File outputFile) async {
@@ -115,8 +115,8 @@
     final IOSink sink = outputFile.openWrite();
     sink.add(base64.decode(skp['skp']));
     await sink.close();
-    await showOutputFileInfo(outputFile);
-    await _ensureOutputIsNotJsonRpcError(outputFile);
+    _showOutputFileInfo(outputFile);
+    _ensureOutputIsNotJsonRpcError(outputFile);
   }
 
   Future<void> runRasterizer(File outputFile) async {
@@ -125,8 +125,8 @@
     final IOSink sink = outputFile.openWrite();
     sink.add(base64.decode(response['screenshot']));
     await sink.close();
-    await showOutputFileInfo(outputFile);
-    await _ensureOutputIsNotJsonRpcError(outputFile);
+    _showOutputFileInfo(outputFile);
+    _ensureOutputIsNotJsonRpcError(outputFile);
   }
 
   Future<Map<String, dynamic>> _invokeVmServiceRpc(String method) async {
@@ -135,18 +135,20 @@
     return await vmService.vm.invokeRpcRaw(method);
   }
 
-  Future<void> _ensureOutputIsNotJsonRpcError(File outputFile) async {
-    if (await outputFile.length() < 1000) {
-      final String content = await outputFile.readAsString(
-        encoding: const AsciiCodec(allowInvalid: true),
-      );
-      if (content.startsWith('{"jsonrpc":"2.0", "error"'))
-        throwToolExit('\nIt appears the output file contains an error message, not valid skia output.');
+  void _ensureOutputIsNotJsonRpcError(File outputFile) {
+    if (outputFile.lengthSync() >= 1000) {
+      return;
+    }
+    final String content = outputFile.readAsStringSync(
+      encoding: const AsciiCodec(allowInvalid: true),
+    );
+    if (content.startsWith('{"jsonrpc":"2.0", "error"')) {
+      throwToolExit('It appears the output file contains an error message, not valid skia output.');
     }
   }
 
-  Future<void> showOutputFileInfo(File outputFile) async {
-    final int sizeKB = (await outputFile.length()) ~/ 1024;
+  void _showOutputFileInfo(File outputFile) {
+    final int sizeKB = (outputFile.lengthSync()) ~/ 1024;
     printStatus('Screenshot written to ${fs.path.relative(outputFile.path)} (${sizeKB}kB).');
   }
 }