change quote to avoid escapes (#50368)

diff --git a/packages/flutter_tools/lib/src/android/gradle.dart b/packages/flutter_tools/lib/src/android/gradle.dart
index b48306e..b52a99a 100644
--- a/packages/flutter_tools/lib/src/android/gradle.dart
+++ b/packages/flutter_tools/lib/src/android/gradle.dart
@@ -244,7 +244,7 @@
     BuildEvent('app-using-android-x').send();
   } else if (!usesAndroidX) {
     BuildEvent('app-not-using-android-x').send();
-    globals.printStatus('$warningMark Your app isn\'t using AndroidX.', emphasis: true);
+    globals.printStatus("$warningMark Your app isn't using AndroidX.", emphasis: true);
     globals.printStatus(
       'To avoid potential build failures, you can quickly migrate your app '
       'by following the steps on https://goo.gl/CP92wY.',
@@ -271,7 +271,7 @@
     : getAssembleTaskFor(buildInfo);
 
   final Status status = globals.logger.startProgress(
-    'Running Gradle task \'$assembleTask\'...',
+    "Running Gradle task '$assembleTask'...",
     timeout: timeoutConfiguration.slowOperation,
     multilineOutput: true,
   );
@@ -508,7 +508,7 @@
 
   final String aarTask = getAarTaskFor(androidBuildInfo.buildInfo);
   final Status status = globals.logger.startProgress(
-    'Running Gradle task \'$aarTask\'...',
+    "Running Gradle task '$aarTask'...",
     timeout: timeoutConfiguration.slowOperation,
     multilineOutput: true,
   );
@@ -740,7 +740,7 @@
     final String pluginName = pluginParts.first;
     final File buildGradleFile = pluginDirectory.childDirectory('android').childFile('build.gradle');
     if (!buildGradleFile.existsSync()) {
-      globals.printTrace('Skipping plugin $pluginName since it doesn\'t have a android/build.gradle file');
+      globals.printTrace("Skipping plugin $pluginName since it doesn't have a android/build.gradle file");
       continue;
     }
     globals.logger.printStatus('Building plugin $pluginName...');
@@ -865,15 +865,15 @@
     ).send();
   throwToolExit(
     'Gradle build failed to produce an $fileExtension file. '
-    'It\'s likely that this file was generated under ${project.android.buildDirectory.path}, '
-    'but the tool couldn\'t find it.'
+    "It's likely that this file was generated under ${project.android.buildDirectory.path}, "
+    "but the tool couldn't find it."
   );
 }
 
 void _createSymlink(String targetPath, String linkPath) {
   final File targetFile = globals.fs.file(targetPath);
   if (!targetFile.existsSync()) {
-    throwToolExit('The file $targetPath wasn\'t found in the local engine out directory.');
+    throwToolExit("The file $targetPath wasn't found in the local engine out directory.");
   }
   final File linkFile = globals.fs.file(linkPath);
   final Link symlink = linkFile.parent.childLink(linkFile.basename);
@@ -889,7 +889,7 @@
 String _getLocalArtifactVersion(String pomPath) {
   final File pomFile = globals.fs.file(pomPath);
   if (!pomFile.existsSync()) {
-    throwToolExit('The file $pomPath wasn\'t found in the local engine out directory.');
+    throwToolExit("The file $pomPath wasn't found in the local engine out directory.");
   }
   xml.XmlDocument document;
   try {
diff --git a/packages/flutter_tools/lib/src/base/user_messages.dart b/packages/flutter_tools/lib/src/base/user_messages.dart
index 3e10806..7d2ab9f 100644
--- a/packages/flutter_tools/lib/src/base/user_messages.dart
+++ b/packages/flutter_tools/lib/src/base/user_messages.dart
@@ -136,7 +136,7 @@
   String xcodeOutdated(int versionMajor, int versionMinor) =>
       'Flutter requires a minimum Xcode version of $versionMajor.$versionMinor.0.\n'
       'Download the latest version or update via the Mac App Store.';
-  String get xcodeEula => 'Xcode end user license agreement not signed; open Xcode or run the command \'sudo xcodebuild -license\'.';
+  String get xcodeEula => "Xcode end user license agreement not signed; open Xcode or run the command 'sudo xcodebuild -license'.";
   String get xcodeMissingSimct =>
       'Xcode requires additional components to be installed in order to run.\n'
       'Launch Xcode and install additional required components when prompted or run:\n'
@@ -159,7 +159,7 @@
       '$consequence\n'
       'To initialize CocoaPods, run:\n'
       '  pod setup\n'
-      'once to finalize CocoaPods\' installation.';
+      "once to finalize CocoaPods' installation.";
   String cocoaPodsMissing(String consequence, String installInstructions) =>
       'CocoaPods not installed.\n'
       '$consequence\n'
@@ -253,37 +253,37 @@
       'use --local-engine-src-path to specify the path to the root of your flutter/engine repository.';
   String runnerNoEngineBuildDirInPath(String engineSourcePath) =>
       'Unable to detect a Flutter engine build directory in $engineSourcePath.\n'
-      'Please ensure that $engineSourcePath is a Flutter engine \'src\' directory and that '
-      'you have compiled the engine in that directory, which should produce an \'out\' directory';
+      "Please ensure that $engineSourcePath is a Flutter engine 'src' directory and that "
+      "you have compiled the engine in that directory, which should produce an 'out' directory";
   String get runnerLocalEngineRequired =>
       'You must specify --local-engine if you are using a locally built engine.';
   String runnerNoEngineBuild(String engineBuildPath) =>
       'No Flutter engine build found at $engineBuildPath.';
   String runnerWrongFlutterInstance(String flutterRoot, String currentDir) =>
-      'Warning: the \'flutter\' tool you are currently running is not the one from the current directory:\n'
+      "Warning: the 'flutter' tool you are currently running is not the one from the current directory:\n"
       '  running Flutter  : $flutterRoot\n'
       '  current directory: $currentDir\n'
       'This can happen when you have multiple copies of flutter installed. Please check your system path to verify '
-      'that you\'re running the expected version (run \'flutter --version\' to see which flutter is on your path).\n';
+      "that you're running the expected version (run 'flutter --version' to see which flutter is on your path).\n";
   String runnerRemovedFlutterRepo(String flutterRoot, String flutterPath) =>
       'Warning! This package referenced a Flutter repository via the .packages file that is '
-      'no longer available. The repository from which the \'flutter\' tool is currently '
+      "no longer available. The repository from which the 'flutter' tool is currently "
       'executing will be used instead.\n'
       '  running Flutter tool: $flutterRoot\n'
       '  previous reference  : $flutterPath\n'
       'This can happen if you deleted or moved your copy of the Flutter repository, or '
       'if it was on a volume that is no longer mounted or has been mounted at a '
       'different location. Please check your system path to verify that you are running '
-      'the expected version (run \'flutter --version\' to see which flutter is on your path).\n';
+      "the expected version (run 'flutter --version' to see which flutter is on your path).\n";
   String runnerChangedFlutterRepo(String flutterRoot, String flutterPath) =>
-      'Warning! The \'flutter\' tool you are currently running is from a different Flutter '
+      "Warning! The 'flutter' tool you are currently running is from a different Flutter "
       'repository than the one last used by this package. The repository from which the '
-      '\'flutter\' tool is currently executing will be used instead.\n'
+      "'flutter' tool is currently executing will be used instead.\n"
       '  running Flutter tool: $flutterRoot\n'
       '  previous reference  : $flutterPath\n'
       'This can happen when you have multiple copies of flutter installed. Please check '
       'your system path to verify that you are running the expected version (run '
-      '\'flutter --version\' to see which flutter is on your path).\n';
+      "'flutter --version' to see which flutter is on your path).\n";
   String invalidVersionSettingHintMessage(String invalidVersion) =>
       'Invalid version $invalidVersion found, default value will be used.\n'
       'In pubspec.yaml, a valid version should look like: build-name+build-number.\n'
diff --git a/packages/flutter_tools/lib/src/build_runner/resident_web_runner.dart b/packages/flutter_tools/lib/src/build_runner/resident_web_runner.dart
index b85e081..8206891 100644
--- a/packages/flutter_tools/lib/src/build_runner/resident_web_runner.dart
+++ b/packages/flutter_tools/lib/src/build_runner/resident_web_runner.dart
@@ -184,7 +184,7 @@
       TerminalColor.red,
     );
     globals.printStatus(
-        'Warning: Flutter\'s support for web development is not stable yet and hasn\'t');
+        "Warning: Flutter's support for web development is not stable yet and hasn't");
     globals.printStatus('been thoroughly tested in production environments.');
     globals.printStatus('For more information see https://flutter.dev/web');
     globals.printStatus('');
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index 81cb244..cc50882 100644
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -430,7 +430,7 @@
         if (_hostsBlockedInChina.contains(e.address?.host)) {
           _logger.printError(
             'Failed to retrieve Flutter tool dependencies: ${e.message}.\n'
-            'If you\'re in China, please see this page: '
+            "If you're in China, please see this page: "
             'https://flutter.dev/community/china',
             emphasis: true,
           );
diff --git a/packages/flutter_tools/lib/src/commands/attach.dart b/packages/flutter_tools/lib/src/commands/attach.dart
index 54f10e5..a1f8530 100644
--- a/packages/flutter_tools/lib/src/commands/attach.dart
+++ b/packages/flutter_tools/lib/src/commands/attach.dart
@@ -215,7 +215,7 @@
       if (device is FuchsiaDevice) {
         final String module = stringArg('module');
         if (module == null) {
-          throwToolExit('\'--module\' is required for attaching to a Fuchsia device');
+          throwToolExit("'--module' is required for attaching to a Fuchsia device");
         }
         usesIpv6 = device.ipv6;
         FuchsiaIsolateDiscoveryProtocol isolateDiscoveryProtocol;
diff --git a/packages/flutter_tools/lib/src/commands/build_aar.dart b/packages/flutter_tools/lib/src/commands/build_aar.dart
index ff620c3..7742e22 100644
--- a/packages/flutter_tools/lib/src/commands/build_aar.dart
+++ b/packages/flutter_tools/lib/src/commands/build_aar.dart
@@ -49,7 +49,7 @@
       ..addOption(
         'output-dir',
         help: 'The absolute path to the directory where the repository is generated. '
-              'By default, this is \'<current-directory>android/build\'. ',
+              "By default, this is '<current-directory>android/build'. ",
       );
   }
 
diff --git a/packages/flutter_tools/lib/src/commands/build_apk.dart b/packages/flutter_tools/lib/src/commands/build_apk.dart
index de01a1e..02e113b 100644
--- a/packages/flutter_tools/lib/src/commands/build_apk.dart
+++ b/packages/flutter_tools/lib/src/commands/build_apk.dart
@@ -52,8 +52,8 @@
 
   @override
   final String description = 'Build an Android APK file from your app.\n\n'
-    'This command can build debug and release versions of your application. \'debug\' builds support '
-    'debugging and a quick development cycle. \'release\' builds don\'t support debugging and are '
+    "This command can build debug and release versions of your application. 'debug' builds support "
+    "debugging and a quick development cycle. 'release' builds don't support debugging and are "
     'suitable for deploying to app stores.';
 
   @override
@@ -97,7 +97,7 @@
       globals.printStatus('You are building a fat APK that includes binaries for '
                   '$targetPlatforms.', emphasis: true, color: TerminalColor.green);
       globals.printStatus('If you are deploying the app to the Play Store, '
-                  'it\'s recommended to use app bundles or split the APK to reduce the APK size.', emphasis: true);
+                  "it's recommended to use app bundles or split the APK to reduce the APK size.", emphasis: true);
       globals.printStatus('To generate an app bundle, run:', emphasis: true, indent: 4);
       globals.printStatus('flutter build appbundle '
                   '--target-platform ${targetPlatforms.replaceAll(' ', '')}',indent: 8);
diff --git a/packages/flutter_tools/lib/src/commands/build_appbundle.dart b/packages/flutter_tools/lib/src/commands/build_appbundle.dart
index 3db7f86..5fca24d 100644
--- a/packages/flutter_tools/lib/src/commands/build_appbundle.dart
+++ b/packages/flutter_tools/lib/src/commands/build_appbundle.dart
@@ -46,8 +46,8 @@
   @override
   final String description =
       'Build an Android App Bundle file from your app.\n\n'
-      'This command can build debug and release versions of an app bundle for your application. \'debug\' builds support '
-      'debugging and a quick development cycle. \'release\' builds don\'t support debugging and are '
+      "This command can build debug and release versions of an app bundle for your application. 'debug' builds support "
+      "debugging and a quick development cycle. 'release' builds don't support debugging and are "
       'suitable for deploying to app stores. \n app bundle improves your app size';
 
   @override
diff --git a/packages/flutter_tools/lib/src/commands/build_bundle.dart b/packages/flutter_tools/lib/src/commands/build_bundle.dart
index 24da2e8..9239365 100644
--- a/packages/flutter_tools/lib/src/commands/build_bundle.dart
+++ b/packages/flutter_tools/lib/src/commands/build_bundle.dart
@@ -60,7 +60,7 @@
       ..addOption('asset-dir', defaultsTo: getAssetBuildDirectory())
       ..addFlag('report-licensed-packages',
         help: 'Whether to report the names of all the packages that are included '
-              'in the application\'s LICENSE file.',
+              "in the application's LICENSE file.",
         defaultsTo: false);
     usesPubOption();
     usesTrackWidgetCreation(verboseHelp: verboseHelp);
diff --git a/packages/flutter_tools/lib/src/commands/config.dart b/packages/flutter_tools/lib/src/commands/config.dart
index 42b27c5..83f84e9 100644
--- a/packages/flutter_tools/lib/src/commands/config.dart
+++ b/packages/flutter_tools/lib/src/commands/config.dart
@@ -54,7 +54,7 @@
     'Configure Flutter settings.\n\n'
     'To remove a setting, configure it to an empty string.\n\n'
     'The Flutter tool anonymously reports feature usage statistics and basic crash reports to help improve '
-    'Flutter tools over time. See Google\'s privacy policy: https://www.google.com/intl/en/policies/privacy/';
+    "Flutter tools over time. See Google's privacy policy: https://www.google.com/intl/en/policies/privacy/";
 
   @override
   final List<String> aliases = <String>['configure'];
diff --git a/packages/flutter_tools/lib/src/commands/doctor.dart b/packages/flutter_tools/lib/src/commands/doctor.dart
index 7c92130..243ef0f 100644
--- a/packages/flutter_tools/lib/src/commands/doctor.dart
+++ b/packages/flutter_tools/lib/src/commands/doctor.dart
@@ -13,7 +13,7 @@
     argParser.addFlag('android-licenses',
       defaultsTo: false,
       negatable: false,
-      help: 'Run the Android SDK manager tool to accept the SDK\'s licenses.',
+      help: "Run the Android SDK manager tool to accept the SDK's licenses.",
     );
     argParser.addOption('check-for-remote-artifacts',
       hide: !verbose,
diff --git a/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart b/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart
index a68ec17..2386601 100644
--- a/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart
+++ b/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart
@@ -13,12 +13,12 @@
 
     argParser.addFlag(
       'ios',
-      help: 'Whether to make this project\'s iOS app editable.',
+      help: "Whether to make this project's iOS app editable.",
       negatable: false,
     );
     argParser.addFlag(
       'android',
-      help: 'Whether ot make this project\'s Android app editable.',
+      help: "Whether ot make this project's Android app editable.",
       negatable: false,
     );
   }
diff --git a/packages/flutter_tools/lib/src/commands/precache.dart b/packages/flutter_tools/lib/src/commands/precache.dart
index db5a17a..e2d380d 100644
--- a/packages/flutter_tools/lib/src/commands/precache.dart
+++ b/packages/flutter_tools/lib/src/commands/precache.dart
@@ -52,7 +52,7 @@
   final String name = 'precache';
 
   @override
-  final String description = 'Populates the Flutter tool\'s cache of binary artifacts.';
+  final String description = "Populates the Flutter tool's cache of binary artifacts.";
 
   @override
   bool get shouldUpdateCache => false;
diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart
index c315ebc..f40fc27 100644
--- a/packages/flutter_tools/lib/src/commands/run.dart
+++ b/packages/flutter_tools/lib/src/commands/run.dart
@@ -120,7 +120,7 @@
               'or just dump the trace as soon as the application is running. The first frame '
               'is detected by looking for a Timeline event with the name '
               '"${Tracing.firstUsefulFrameEventName}". '
-              'By default, the widgets library\'s binding takes care of sending this event. ',
+              "By default, the widgets library's binding takes care of sending this event. ",
       )
       ..addFlag('use-test-fonts',
         negatable: true,
diff --git a/packages/flutter_tools/lib/src/commands/screenshot.dart b/packages/flutter_tools/lib/src/commands/screenshot.dart
index d126fea..a64d1cc 100644
--- a/packages/flutter_tools/lib/src/commands/screenshot.dart
+++ b/packages/flutter_tools/lib/src/commands/screenshot.dart
@@ -41,7 +41,7 @@
       help: 'The type of screenshot to retrieve.',
       allowed: const <String>[_kDeviceType, _kSkiaType, _kRasterizerType],
       allowedHelp: const <String, String>{
-        _kDeviceType: 'Delegate to the device\'s native screenshot capabilities. This '
+        _kDeviceType: "Delegate to the device's native screenshot capabilities. This "
             'screenshots the entire screen currently being displayed (including content '
             'not rendered by Flutter, like the device status bar).',
         _kSkiaType: 'Render the Flutter app as a Skia picture. Requires --$_kObservatoryUri',
diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart
index 0a45369..101b142 100644
--- a/packages/flutter_tools/lib/src/commands/test.dart
+++ b/packages/flutter_tools/lib/src/commands/test.dart
@@ -139,7 +139,7 @@
       throwToolExit(
         'Error: No pubspec.yaml file found in the current working directory.\n'
         'Run this command from the root of your project. Test files must be '
-        'called *_test.dart and must reside in the package\'s \'test\' '
+        "called *_test.dart and must reside in the package's 'test' "
         'directory (or one of its subdirectories).');
     }
     if (shouldRunPub) {
diff --git a/packages/flutter_tools/lib/src/commands/update_packages.dart b/packages/flutter_tools/lib/src/commands/update_packages.dart
index bf65527..acece5e 100644
--- a/packages/flutter_tools/lib/src/commands/update_packages.dart
+++ b/packages/flutter_tools/lib/src/commands/update_packages.dart
@@ -361,7 +361,7 @@
     await _downloadCoverageData();
 
     final double seconds = timer.elapsedMilliseconds / 1000.0;
-    globals.printStatus('\nRan \'pub\' $count time${count == 1 ? "" : "s"} and fetched coverage data in ${seconds.toStringAsFixed(1)}s.');
+    globals.printStatus("\nRan 'pub' $count time${count == 1 ? "" : "s"} and fetched coverage data in ${seconds.toStringAsFixed(1)}s.");
 
     return FlutterCommandResult.success();
   }
diff --git a/packages/flutter_tools/lib/src/commands/upgrade.dart b/packages/flutter_tools/lib/src/commands/upgrade.dart
index 7bf8256..705e4e6 100644
--- a/packages/flutter_tools/lib/src/commands/upgrade.dart
+++ b/packages/flutter_tools/lib/src/commands/upgrade.dart
@@ -184,8 +184,8 @@
     } catch (e) {
       throwToolExit(
         'Unable to upgrade Flutter: no origin repository configured. '
-        'Run \'git remote add origin '
-        'https://github.com/flutter/flutter\' in ${Cache.flutterRoot}',
+        "Run 'git remote add origin "
+        "https://github.com/flutter/flutter' in ${Cache.flutterRoot}",
       );
     }
   }
diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
index 1b37082..3efe09a 100644
--- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
+++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
@@ -379,9 +379,9 @@
         await fuchsiaDeviceTools.amberCtl.pkgCtlRepoRemove(this, fuchsiaPackageServer);
       }
       // Shutdown the package server and delete the package repo;
-      globals.printTrace('Shutting down the tool\'s package server.');
+      globals.printTrace("Shutting down the tool's package server.");
       fuchsiaPackageServer?.stop();
-      globals.printTrace('Removing the tool\'s package repo: at ${packageRepo.path}');
+      globals.printTrace("Removing the tool's package repo: at ${packageRepo.path}");
       try {
         packageRepo.deleteSync(recursive: true);
       } catch (e) {
diff --git a/packages/flutter_tools/lib/src/ios/code_signing.dart b/packages/flutter_tools/lib/src/ios/code_signing.dart
index 992a0b7..163b840 100644
--- a/packages/flutter_tools/lib/src/ios/code_signing.dart
+++ b/packages/flutter_tools/lib/src/ios/code_signing.dart
@@ -174,7 +174,7 @@
       throwOnError: true,
     )).stdout.trim();
   } on ProcessException catch (error) {
-    globals.printTrace('Couldn\'t find the certificate: $error.');
+    globals.printTrace("Couldn't find the certificate: $error.");
     return null;
   }
 
diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart
index 7792fbe..c4dcd78 100644
--- a/packages/flutter_tools/lib/src/ios/mac.dart
+++ b/packages/flutter_tools/lib/src/ios/mac.dart
@@ -337,7 +337,7 @@
       globals.printStatus(buildResult.stderr, indent: 4);
     }
     if (buildResult.stdout.isNotEmpty) {
-      globals.printStatus('Xcode\'s output:\n↳');
+      globals.printStatus("Xcode's output:\n↳");
       globals.printStatus(buildResult.stdout, indent: 4);
     }
     return XcodeBuildResult(
@@ -454,7 +454,7 @@
       result.xcodeBuildExecution.buildForPhysicalDevice &&
       result.stdout?.contains('BCEROR') == true &&
       // May need updating if Xcode changes its outputs.
-      result.stdout?.contains('Xcode couldn\'t find a provisioning profile matching') == true) {
+      result.stdout?.contains("Xcode couldn't find a provisioning profile matching") == true) {
     globals.printError(noProvisioningProfileInstruction, emphasis: true);
     return;
   }
diff --git a/packages/flutter_tools/lib/src/linux/build_linux.dart b/packages/flutter_tools/lib/src/linux/build_linux.dart
index c34a4f8..48a9a94 100644
--- a/packages/flutter_tools/lib/src/linux/build_linux.dart
+++ b/packages/flutter_tools/lib/src/linux/build_linux.dart
@@ -64,7 +64,7 @@
       'BUILD=$buildFlag',
     ], trace: true);
   } on ArgumentError {
-    throwToolExit('make not found. Run \'flutter doctor\' for more information.');
+    throwToolExit("make not found. Run 'flutter doctor' for more information.");
   } finally {
     status.cancel();
   }
diff --git a/packages/flutter_tools/lib/src/macos/cocoapods.dart b/packages/flutter_tools/lib/src/macos/cocoapods.dart
index 7257afa..d748ab1 100644
--- a/packages/flutter_tools/lib/src/macos/cocoapods.dart
+++ b/packages/flutter_tools/lib/src/macos/cocoapods.dart
@@ -202,7 +202,7 @@
         '$noCocoaPodsConsequence\n'
         'To initialize CocoaPods, run:\n'
         '  pod setup\n'
-        'once to finalize CocoaPods\' installation.',
+        "once to finalize CocoaPods' installation.",
         emphasis: true,
       );
       return false;
@@ -315,7 +315,7 @@
     if (globals.logger.isVerbose || result.exitCode != 0) {
       final String stdout = result.stdout as String;
       if (stdout.isNotEmpty) {
-        globals.printStatus('CocoaPods\' output:\n↳');
+        globals.printStatus("CocoaPods' output:\n↳");
         globals.printStatus(stdout, indent: 4);
       }
       final String stderr = result.stderr as String;
diff --git a/packages/flutter_tools/lib/src/macos/xcode.dart b/packages/flutter_tools/lib/src/macos/xcode.dart
index 44bd068..81d2656 100644
--- a/packages/flutter_tools/lib/src/macos/xcode.dart
+++ b/packages/flutter_tools/lib/src/macos/xcode.dart
@@ -229,7 +229,7 @@
 
   Future<List<dynamic>> _getAllDevices({bool useCache = false}) async {
     if (!isInstalled) {
-      _logger.printTrace('Xcode not found. Run \'flutter doctor\' for more information.');
+      _logger.printTrace("Xcode not found. Run 'flutter doctor' for more information.");
       return null;
     }
     if (useCache && _cachedListResults != null) {
diff --git a/packages/flutter_tools/lib/src/platform_plugins.dart b/packages/flutter_tools/lib/src/platform_plugins.dart
index cfebbd1..cdf31ad 100644
--- a/packages/flutter_tools/lib/src/platform_plugins.dart
+++ b/packages/flutter_tools/lib/src/platform_plugins.dart
@@ -113,8 +113,8 @@
     if (!mainClassFound) {
       assert(mainClassCandidates.length <= 2);
       throwToolExit(
-        'The plugin `$name` doesn\'t have a main class defined in ${mainClassCandidates.join(' or ')}. '
-        'This is likely to due to an incorrect `androidPackage: $package` or `mainClass` entry in the plugin\'s pubspec.yaml.\n'
+        "The plugin `$name` doesn't have a main class defined in ${mainClassCandidates.join(' or ')}. "
+        "This is likely to due to an incorrect `androidPackage: $package` or `mainClass` entry in the plugin's pubspec.yaml.\n"
         'If you are the author of this plugin, fix the `androidPackage` entry or move the main class to any of locations used above. '
         'Otherwise, please contact the author of this plugin and consider using a different plugin in the meanwhile. '
       );
@@ -125,7 +125,7 @@
       mainClassContent = mainPluginClass.readAsStringSync();
     } on FileSystemException {
       throwToolExit(
-        'Couldn\'t read file ${mainPluginClass.path} even though it exists. '
+        "Couldn't read file ${mainPluginClass.path} even though it exists. "
         'Please verify that this file has read permission and try again.'
       );
     }
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
index 01b370e..397e438 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -308,8 +308,8 @@
         help: 'An identifier used as an internal version number.\n'
               'Each build must have a unique identifier to differentiate it from previous builds.\n'
               'It is used to determine whether one build is more recent than another, with higher numbers indicating more recent build.\n'
-              'On Android it is used as \'versionCode\'.\n'
-              'On Xcode builds it is used as \'CFBundleVersion\'',
+              "On Android it is used as 'versionCode'.\n"
+              "On Xcode builds it is used as 'CFBundleVersion'",
     );
   }
 
@@ -317,8 +317,8 @@
     argParser.addOption('build-name',
         help: 'A "x.y.z" string used as the version number shown to users.\n'
               'For each new version of your app, you will provide a version number to differentiate it from previous versions.\n'
-              'On Android it is used as \'versionName\'.\n'
-              'On Xcode builds it is used as \'CFBundleShortVersionString\'',
+              "On Android it is used as 'versionName'.\n"
+              "On Xcode builds it is used as 'CFBundleShortVersionString'",
         valueHelp: 'x.y.z');
   }
 
@@ -341,7 +341,7 @@
       defaultsTo: null,
       hide: hide,
       help: 'Restricts commands to a subset of the available isolates (running instances of Flutter).\n'
-            'Normally there\'s only one, but when adding Flutter to a pre-existing app it\'s possible to create multiple.');
+            "Normally there's only one, but when adding Flutter to a pre-existing app it's possible to create multiple.");
   }
 
   void addBuildModeFlags({ bool defaultToRelease = true, bool verboseHelp = false, bool excludeDebug = false }) {
@@ -374,7 +374,7 @@
         'application. The value of the flag should be a directory where program '
         'symbol files can be stored for later use. These symbol files contain '
         'the information needed to symbolize Dart stack traces. For an app built '
-        'with this flag, the \'flutter symbolize\' command with the right program '
+        "with this flag, the 'flutter symbolize' command with the right program "
         'symbol file is required to obtain a human readable stack trace.',
       valueHelp: '/project-name/v1.2.3/',
     );
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
index 99455ae..4ce44f3 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
@@ -131,7 +131,7 @@
     argParser.addFlag('show-test-device',
         negatable: false,
         hide: !verboseHelp,
-        help: 'List the special \'flutter-tester\' device in device listings. '
+        help: "List the special 'flutter-tester' device in device listings. "
               'This headless device is used to\ntest Flutter tooling.');
   }
 
diff --git a/packages/flutter_tools/lib/src/test/flutter_platform.dart b/packages/flutter_tools/lib/src/test/flutter_platform.dart
index c47af1e..1e78e9e 100644
--- a/packages/flutter_tools/lib/src/test/flutter_platform.dart
+++ b/packages/flutter_tools/lib/src/test/flutter_platform.dart
@@ -315,11 +315,11 @@
       return await controller.suite;
     } catch (err) {
       /// Rethrow a less confusing error if it is a test incompatibility.
-      if (err.toString().contains('type \'Declarer\' is not a subtype of type \'Declarer\'')) {
+      if (err.toString().contains("type 'Declarer' is not a subtype of type 'Declarer'")) {
         throw UnsupportedError('Package incompatibility between flutter and test packages:\n'
           '  * flutter is incompatible with test <1.4.0.\n'
           '  * flutter is incompatible with mockito <4.0.0\n'
-          'To fix this error, update test to at least \'^1.4.0\' and mockito to at least \'^4.0.0\'\n'
+          "To fix this error, update test to at least '^1.4.0' and mockito to at least '^4.0.0'\n"
         );
       }
       // Guess it was a different error.
@@ -863,7 +863,7 @@
             if (startTimeoutTimer != null) {
               startTimeoutTimer();
             }
-          } else if (line.startsWith('error: Unable to read Dart source \'package:test/')) {
+          } else if (line.startsWith("error: Unable to read Dart source 'package:test/")) {
             globals.printTrace('Shell: $line');
             globals.printError('\n\nFailed to load test harness. Are you missing a dependency on flutter_test?\n');
           } else if (line.startsWith(observatoryString)) {
diff --git a/packages/flutter_tools/lib/src/test/test_compiler.dart b/packages/flutter_tools/lib/src/test/test_compiler.dart
index 42b0cd1..dac2fb7 100644
--- a/packages/flutter_tools/lib/src/test/test_compiler.dart
+++ b/packages/flutter_tools/lib/src/test/test_compiler.dart
@@ -171,7 +171,7 @@
     if (_suppressOutput) {
       return;
     }
-    if (message.startsWith('Error: Could not resolve the package \'flutter_test\'')) {
+    if (message.startsWith("Error: Could not resolve the package 'flutter_test'")) {
       globals.printTrace(message);
       globals.printError('\n\nFailed to load test harness. Are you missing a dependency on flutter_test?\n',
         emphasis: emphasis,
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart
index d5aa84e..7fc4664 100644
--- a/packages/flutter_tools/lib/src/vmservice.dart
+++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -138,7 +138,7 @@
         final bool pause = params.asMap['pause'] as bool ?? false;
 
         if (isolateId.isEmpty) {
-          throw rpc.RpcException.invalidParams('Invalid \'isolateId\': $isolateId');
+          throw rpc.RpcException.invalidParams("Invalid 'isolateId': $isolateId");
         }
         try {
           await reloadSources(isolateId, force: force, pause: pause);
@@ -173,10 +173,10 @@
         final String classId = params['class'].value as String;
 
         if (libraryId.isEmpty) {
-          throw rpc.RpcException.invalidParams('Invalid \'libraryId\': $libraryId');
+          throw rpc.RpcException.invalidParams("Invalid 'libraryId': $libraryId");
         }
         if (classId.isEmpty) {
-          throw rpc.RpcException.invalidParams('Invalid \'classId\': $classId');
+          throw rpc.RpcException.invalidParams("Invalid 'classId': $classId");
         }
 
         globals.printTrace('reloadMethod not yet supported, falling back to hot reload');
@@ -205,7 +205,7 @@
         final bool pause = params.asMap['pause'] as bool ?? false;
 
         if (pause is! bool) {
-          throw rpc.RpcException.invalidParams('Invalid \'pause\': $pause');
+          throw rpc.RpcException.invalidParams("Invalid 'pause': $pause");
         }
 
         try {
@@ -243,12 +243,12 @@
         final String isolateId = params['isolateId'].asString;
         if (isolateId is! String || isolateId.isEmpty) {
           throw rpc.RpcException.invalidParams(
-              'Invalid \'isolateId\': $isolateId');
+              "Invalid 'isolateId': $isolateId");
         }
         final String expression = params['expression'].asString;
         if (expression is! String || expression.isEmpty) {
           throw rpc.RpcException.invalidParams(
-              'Invalid \'expression\': $expression');
+              "Invalid 'expression': $expression");
         }
         final List<String> definitions =
             List<String>.from(params['definitions'].asList);
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_ios_framework_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_ios_framework_test.dart
index 8fa3b3b..cc08f4e 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/build_ios_framework_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/build_ios_framework_test.dart
@@ -182,7 +182,7 @@
 
             final File expectedPodspec = outputDirectory.childFile('Flutter.podspec');
             final String podspecContents = expectedPodspec.readAsStringSync();
-            expect(podspecContents, contains('\'1.13.1113\''));
+            expect(podspecContents, contains("'1.13.1113'"));
             expect(podspecContents, contains('# $frameworkVersion'));
             expect(podspecContents, contains(licenseText));
           }, overrides: <Type, Generator>{
@@ -202,7 +202,7 @@
 
             final File expectedPodspec = outputDirectory.childFile('Flutter.podspec');
             final String podspecContents = expectedPodspec.readAsStringSync();
-            expect(podspecContents, contains('\'$storageBaseUrl/flutter_infra/flutter/$engineRevision/ios/artifacts.zip\''));
+            expect(podspecContents, contains("'$storageBaseUrl/flutter_infra/flutter/$engineRevision/ios/artifacts.zip'"));
           }, overrides: <Type, Generator>{
             FileSystem: () => memoryFileSystem,
             ProcessManager: () => FakeProcessManager.any(),
@@ -220,7 +220,7 @@
 
             final File expectedPodspec = outputDirectory.childFile('Flutter.podspec');
             final String podspecContents = expectedPodspec.readAsStringSync();
-            expect(podspecContents, contains('\'$storageBaseUrl/flutter_infra/flutter/$engineRevision/ios-profile/artifacts.zip\''));
+            expect(podspecContents, contains("'$storageBaseUrl/flutter_infra/flutter/$engineRevision/ios-profile/artifacts.zip'"));
           }, overrides: <Type, Generator>{
             FileSystem: () => memoryFileSystem,
             ProcessManager: () => FakeProcessManager.any(),
@@ -238,7 +238,7 @@
 
             final File expectedPodspec = outputDirectory.childFile('Flutter.podspec');
             final String podspecContents = expectedPodspec.readAsStringSync();
-            expect(podspecContents, contains('\'$storageBaseUrl/flutter_infra/flutter/$engineRevision/ios-release/artifacts.zip\''));
+            expect(podspecContents, contains("'$storageBaseUrl/flutter_infra/flutter/$engineRevision/ios-release/artifacts.zip'"));
           }, overrides: <Type, Generator>{
             FileSystem: () => memoryFileSystem,
             ProcessManager: () => FakeProcessManager.any(),
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart
index 9f1f166..3cbc5cb 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart
@@ -138,7 +138,7 @@
 
     expect(createTestCommandRunner(command).run(
       const <String>['build', 'linux']
-    ), throwsToolExit(message: 'make not found. Run \'flutter doctor\' for more information.'));
+    ), throwsToolExit(message: "make not found. Run 'flutter doctor' for more information."));
   }, overrides: <Type, Generator>{
     FileSystem: () => MemoryFileSystem(),
     ProcessManager: () => mockProcessManager,
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/version_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/version_test.dart
index bb11c7a..98922e0 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/version_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/version_test.dart
@@ -113,7 +113,7 @@
       ProcessManager: () => MockProcessManager(),
     });
 
-    testUsingContext('exit tool if can\'t get the tags', () async {
+    testUsingContext("exit tool if can't get the tags", () async {
       final VersionCommand command = VersionCommand();
       try {
         await command.getTags();
diff --git a/packages/flutter_tools/test/commands.shard/permeable/analyze_once_test.dart b/packages/flutter_tools/test/commands.shard/permeable/analyze_once_test.dart
index 071dbd2..be289e0 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/analyze_once_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/analyze_once_test.dart
@@ -124,7 +124,7 @@
             'Analyzing',
             'info $analyzerSeparator Avoid empty else statements',
             'info $analyzerSeparator Avoid empty statements',
-            'info $analyzerSeparator The declaration \'_incrementCounter\' isn\'t',
+            "info $analyzerSeparator The declaration '_incrementCounter' isn't",
           ],
           exitMessageContains: '3 issues found.',
           toolExit: true,
@@ -160,7 +160,7 @@
             arguments: <String>['analyze', '--no-pub'],
             statusTextContains: <String>[
               'Analyzing',
-              'info $analyzerSeparator The declaration \'_incrementCounter\' isn\'t',
+              "info $analyzerSeparator The declaration '_incrementCounter' isn't",
               'info $analyzerSeparator Only throw instances of classes extending either Exception or Error',
             ],
             exitMessageContains: '2 issues found.',
diff --git a/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart b/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart
index 59be024..1d71094 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart
@@ -108,7 +108,7 @@
       Platform: () => fakePlatform,
     });
 
-    testUsingContext('Doesn\'t throw on known tag, dev branch, no force', () async {
+    testUsingContext("Doesn't throw on known tag, dev branch, no force", () async {
       final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
         false,
         false,
@@ -121,7 +121,7 @@
       Platform: () => fakePlatform,
     });
 
-    testUsingContext('Doesn\'t continue on known tag, dev branch, no force, already up-to-date', () async {
+    testUsingContext("Doesn't continue on known tag, dev branch, no force, already up-to-date", () async {
       fakeCommandRunner.alreadyUpToDate = true;
       final Future<FlutterCommandResult> result = fakeCommandRunner.runCommand(
         false,
@@ -284,7 +284,7 @@
       expect(_match('Fast-forward'), true);
     });
 
-    test('regex doesn\'t match', () {
+    test("regex doesn't match", () {
       expect(_match('Updating 79cfe1e..5046107'), false);
       expect(_match('229 files changed, 6179 insertions(+), 3065 deletions(-)'), false);
     });
diff --git a/packages/flutter_tools/test/general.shard/analytics_test.dart b/packages/flutter_tools/test/general.shard/analytics_test.dart
index 6351328..cdff1fb 100644
--- a/packages/flutter_tools/test/general.shard/analytics_test.dart
+++ b/packages/flutter_tools/test/general.shard/analytics_test.dart
@@ -46,7 +46,7 @@
     });
 
     // Ensure we don't send anything when analytics is disabled.
-    testUsingContext('doesn\'t send when disabled', () async {
+    testUsingContext("doesn't send when disabled", () async {
       int count = 0;
       flutterUsage.onSend.listen((Map<String, dynamic> data) => count++);
 
@@ -73,7 +73,7 @@
     });
 
     // Ensure we don't send for the 'flutter config' command.
-    testUsingContext('config doesn\'t send', () async {
+    testUsingContext("config doesn't send", () async {
       int count = 0;
       flutterUsage.onSend.listen((Map<String, dynamic> data) => count++);
 
@@ -272,7 +272,7 @@
       tryToDelete(tempDir);
     });
 
-    testUsingContext('don\'t send on bots', () async {
+    testUsingContext("don't send on bots", () async {
       int count = 0;
       flutterUsage.onSend.listen((Map<String, dynamic> data) => count++);
 
@@ -286,7 +286,7 @@
       ),
     });
 
-    testUsingContext('don\'t send on bots even when opted in', () async {
+    testUsingContext("don't send on bots even when opted in", () async {
       int count = 0;
       flutterUsage.onSend.listen((Map<String, dynamic> data) => count++);
       flutterUsage.enabled = true;
diff --git a/packages/flutter_tools/test/general.shard/android/gradle_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_test.dart
index 499e23d..f3a844a 100644
--- a/packages/flutter_tools/test/general.shard/android/gradle_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/gradle_test.dart
@@ -143,7 +143,7 @@
       ProcessManager: () => FakeProcessManager.any(),
     });
 
-    testUsingContext('Finds app bundle when flavor doesn\'t contain underscores in release mode', () {
+    testUsingContext("Finds app bundle when flavor doesn't contain underscores in release mode", () {
       final FlutterProject project = generateFakeAppBundle('fooRelease', 'app.aab');
       final File bundle = findBundleFile(project, const BuildInfo(BuildMode.release, 'foo', treeShakeIcons: false));
       expect(bundle, isNotNull);
@@ -173,7 +173,7 @@
       ProcessManager: () => FakeProcessManager.any(),
     });
 
-    testUsingContext('Finds app bundle when flavor doesn\'t contain underscores in debug mode', () {
+    testUsingContext("Finds app bundle when flavor doesn't contain underscores in debug mode", () {
       final FlutterProject project = generateFakeAppBundle('fooDebug', 'app.aab');
       final File bundle = findBundleFile(project, const BuildInfo(BuildMode.debug, 'foo', treeShakeIcons: false));
       expect(bundle, isNotNull);
@@ -203,7 +203,7 @@
       ProcessManager: () => FakeProcessManager.any(),
     });
 
-    testUsingContext('Finds app bundle when flavor doesn\'t contain underscores in profile mode', () {
+    testUsingContext("Finds app bundle when flavor doesn't contain underscores in profile mode", () {
       final FlutterProject project = generateFakeAppBundle('fooProfile', 'app.aab');
       final File bundle = findBundleFile(project, const BuildInfo(BuildMode.profile, 'foo', treeShakeIcons: false));
       expect(bundle, isNotNull);
@@ -291,8 +291,8 @@
         },
         throwsToolExit(
           message:
-            'Gradle build failed to produce an .aab file. It\'s likely that this file '
-            'was generated under ${project.android.buildDirectory.path}, but the tool couldn\'t find it.'
+            "Gradle build failed to produce an .aab file. It's likely that this file "
+            "was generated under ${project.android.buildDirectory.path}, but the tool couldn't find it."
         )
       );
       verify(
@@ -395,8 +395,8 @@
         },
         throwsToolExit(
           message:
-            'Gradle build failed to produce an .apk file. It\'s likely that this file '
-            'was generated under ${project.android.buildDirectory.path}, but the tool couldn\'t find it.'
+            "Gradle build failed to produce an .apk file. It's likely that this file "
+            "was generated under ${project.android.buildDirectory.path}, but the tool couldn't find it."
         )
       );
       verify(
@@ -503,7 +503,7 @@
       ProcessManager: () => FakeProcessManager.any(),
     });
 
-    testUsingContext('create settings_aar.gradle when current settings.gradle doesn\'t load plugins', () {
+    testUsingContext("create settings_aar.gradle when current settings.gradle doesn't load plugins", () {
       const String currentSettingsGradle = '''
 include ':app'
 ''';
@@ -1609,7 +1609,7 @@
       ProcessManager: () => mockProcessManager,
     });
 
-    testUsingContext('doesn\'t indicate how to consume an AAR when printHowToConsumeAaar is false', () async {
+    testUsingContext("doesn't indicate how to consume an AAR when printHowToConsumeAaar is false", () async {
       final File manifestFile = fileSystem.file('pubspec.yaml');
       manifestFile.createSync(recursive: true);
       manifestFile.writeAsStringSync('''
@@ -1870,19 +1870,19 @@
           '\n'
           '      repositories {\n'
           '        maven {\n'
-          '            url \'build/\'\n'
+          "            url 'build/'\n"
           '        }\n'
           '        maven {\n'
-          '            url \'http://download.flutter.io\'\n'
+          "            url 'http://download.flutter.io'\n"
           '        }\n'
           '      }\n'
           '\n'
           '  3. Make the host app depend on the Flutter module:\n'
           '\n'
           '    dependencies {\n'
-          '      releaseImplementation \'com.mycompany:flutter_release:2.2\'\n'
-          '      debugImplementation \'com.mycompany:flutter_debug:2.2\'\n'
-          '      profileImplementation \'com.mycompany:flutter_profile:2.2\'\n'
+          "      releaseImplementation 'com.mycompany:flutter_release:2.2'\n"
+          "      debugImplementation 'com.mycompany:flutter_debug:2.2'\n"
+          "      profileImplementation 'com.mycompany:flutter_profile:2.2'\n"
           '    }\n'
           '\n'
           '\n'
@@ -1922,17 +1922,17 @@
           '\n'
           '      repositories {\n'
           '        maven {\n'
-          '            url \'build/\'\n'
+          "            url 'build/'\n"
           '        }\n'
           '        maven {\n'
-          '            url \'http://download.flutter.io\'\n'
+          "            url 'http://download.flutter.io'\n"
           '        }\n'
           '      }\n'
           '\n'
           '  3. Make the host app depend on the Flutter module:\n'
           '\n'
           '    dependencies {\n'
-          '      releaseImplementation \'com.mycompany:flutter_release:1.0\'\n'
+          "      releaseImplementation 'com.mycompany:flutter_release:1.0'\n"
           '    }\n'
           '\n'
           'To learn more, visit https://flutter.dev/go/build-aar\n'
@@ -1961,17 +1961,17 @@
           '\n'
           '      repositories {\n'
           '        maven {\n'
-          '            url \'build/\'\n'
+          "            url 'build/'\n"
           '        }\n'
           '        maven {\n'
-          '            url \'http://download.flutter.io\'\n'
+          "            url 'http://download.flutter.io'\n"
           '        }\n'
           '      }\n'
           '\n'
           '  3. Make the host app depend on the Flutter module:\n'
           '\n'
           '    dependencies {\n'
-          '      debugImplementation \'com.mycompany:flutter_debug:1.0\'\n'
+          "      debugImplementation 'com.mycompany:flutter_debug:1.0'\n"
           '    }\n'
           '\n'
           'To learn more, visit https://flutter.dev/go/build-aar\n'
@@ -2001,17 +2001,17 @@
           '\n'
           '      repositories {\n'
           '        maven {\n'
-          '            url \'build/\'\n'
+          "            url 'build/'\n"
           '        }\n'
           '        maven {\n'
-          '            url \'http://download.flutter.io\'\n'
+          "            url 'http://download.flutter.io'\n"
           '        }\n'
           '      }\n'
           '\n'
           '  3. Make the host app depend on the Flutter module:\n'
           '\n'
           '    dependencies {\n'
-          '      profileImplementation \'com.mycompany:flutter_profile:1.0\'\n'
+          "      profileImplementation 'com.mycompany:flutter_profile:1.0'\n"
           '    }\n'
           '\n'
           '\n'
diff --git a/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
index f405124..802f740 100644
--- a/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
+++ b/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart
@@ -127,7 +127,7 @@
       memoryFileSystem = MemoryFileSystem();
     });
 
-    testUsingContext('throws ToolExit if gradle.properties doesn\'t exist', () {
+    testUsingContext("throws ToolExit if gradle.properties doesn't exist", () {
       final Directory sampleAppAndroid = globals.fs.directory('/sample-app/android');
       sampleAppAndroid.createSync(recursive: true);
 
@@ -316,7 +316,7 @@
       GradleUtils: () => gradleUtils,
     });
 
-    testUsingContext('doesn\'t give execute permission to gradle if not needed', () {
+    testUsingContext("doesn't give execute permission to gradle if not needed", () {
       final FlutterProject flutterProject = MockFlutterProject();
       final AndroidProject androidProject = MockAndroidProject();
       when(flutterProject.android).thenReturn(androidProject);
diff --git a/packages/flutter_tools/test/general.shard/base/logger_test.dart b/packages/flutter_tools/test/general.shard/base/logger_test.dart
index 05bb697..fe8e38e 100644
--- a/packages/flutter_tools/test/general.shard/base/logger_test.dart
+++ b/packages/flutter_tools/test/general.shard/base/logger_test.dart
@@ -319,7 +319,7 @@
               stopwatchFactory: stopwatchFactory,
             );
             final Status status = logger.startProgress(
-              'Knock Knock, Who\'s There',
+              "Knock Knock, Who's There",
               timeout: const Duration(days: 10),
               progressIndicatorPadding: 10,
             );
@@ -330,7 +330,7 @@
 
             expect(
               outputStdout().join('\n'),
-              'Knock Knock, Who\'s There     ' // initial message
+              "Knock Knock, Who's There     " // initial message
               '        ' // placeholder so that spinner can backspace on its first tick
               '\b\b\b\b\b\b\b\b       $a' // first tick
               '\b\b\b\b\b\b\b\b        ' // clearing the spinner
@@ -338,7 +338,7 @@
               '\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b                             ' // clearing the message
               '\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b' // clearing the clearing of the message
               'Rude Interrupting Cow\n' // message
-              'Knock Knock, Who\'s There     ' // message restoration
+              "Knock Knock, Who's There     " // message restoration
               '        ' // placeholder so that spinner can backspace on its second tick
               '\b\b\b\b\b\b\b\b       $b' // second tick
               '\b\b\b\b\b\b\b\b        ' // clearing the spinner to put the time
diff --git a/packages/flutter_tools/test/general.shard/build_system/source_test.dart b/packages/flutter_tools/test/general.shard/build_system/source_test.dart
index 56e22bb..78e6ad8 100644
--- a/packages/flutter_tools/test/general.shard/build_system/source_test.dart
+++ b/packages/flutter_tools/test/general.shard/build_system/source_test.dart
@@ -145,7 +145,7 @@
   }));
 
 
-  test('can\'t substitute foo', () => testbed.run(() {
+  test("can't substitute foo", () => testbed.run(() {
     const Source invalidBase = Source.pattern('foo');
 
     expect(() => invalidBase.accept(visitor), throwsA(isA<InvalidPatternException>()));
diff --git a/packages/flutter_tools/test/general.shard/cache_test.dart b/packages/flutter_tools/test/general.shard/cache_test.dart
index fb0a0b0..2c29c7e 100644
--- a/packages/flutter_tools/test/general.shard/cache_test.dart
+++ b/packages/flutter_tools/test/general.shard/cache_test.dart
@@ -188,7 +188,7 @@
       verifyNever(artifact1.update());
       verify(artifact2.update());
     });
-    testUsingContext('getter dyLdLibEntry concatenates the output of each artifact\'s dyLdLibEntry getter', () async {
+    testUsingContext("getter dyLdLibEntry concatenates the output of each artifact's dyLdLibEntry getter", () async {
       final IosUsbArtifacts artifact1 = MockIosUsbArtifacts();
       final IosUsbArtifacts artifact2 = MockIosUsbArtifacts();
       final IosUsbArtifacts artifact3 = MockIosUsbArtifacts();
diff --git a/packages/flutter_tools/test/general.shard/commands/build_apk_test.dart b/packages/flutter_tools/test/general.shard/commands/build_apk_test.dart
index d467790..fab0c2b 100644
--- a/packages/flutter_tools/test/general.shard/commands/build_apk_test.dart
+++ b/packages/flutter_tools/test/general.shard/commands/build_apk_test.dart
@@ -344,7 +344,7 @@
       Usage: () => mockUsage,
     });
 
-    testUsingContext('reports when the app isn\'t using AndroidX', () async {
+    testUsingContext("reports when the app isn't using AndroidX", () async {
       final String projectPath = await createProject(tempDir,
           arguments: <String>['--no-pub', '--no-androidx', '--template=app']);
 
@@ -375,7 +375,7 @@
         );
       }, throwsToolExit());
 
-      expect(testLogger.statusText, contains('Your app isn\'t using AndroidX'));
+      expect(testLogger.statusText, contains("Your app isn't using AndroidX"));
       expect(testLogger.statusText, contains(
         'To avoid potential build failures, you can quickly migrate your app by '
         'following the steps on https://goo.gl/CP92wY'
@@ -426,7 +426,7 @@
         );
       }, throwsToolExit());
 
-      expect(testLogger.statusText.contains('[!] Your app isn\'t using AndroidX'), isFalse);
+      expect(testLogger.statusText.contains("[!] Your app isn't using AndroidX"), isFalse);
       expect(
         testLogger.statusText.contains(
           'To avoid potential build failures, you can quickly migrate your app by '
diff --git a/packages/flutter_tools/test/general.shard/commands/build_appbundle_test.dart b/packages/flutter_tools/test/general.shard/commands/build_appbundle_test.dart
index 2c439fd..1dec6a0 100644
--- a/packages/flutter_tools/test/general.shard/commands/build_appbundle_test.dart
+++ b/packages/flutter_tools/test/general.shard/commands/build_appbundle_test.dart
@@ -303,7 +303,7 @@
       Usage: () => mockUsage,
     });
 
-    testUsingContext('reports when the app isn\'t using AndroidX', () async {
+    testUsingContext("reports when the app isn't using AndroidX", () async {
       final String projectPath = await createProject(tempDir,
           arguments: <String>['--no-pub', '--no-androidx', '--template=app']);
 
@@ -334,7 +334,7 @@
         );
       }, throwsToolExit());
 
-      expect(testLogger.statusText, contains('Your app isn\'t using AndroidX'));
+      expect(testLogger.statusText, contains("Your app isn't using AndroidX"));
       expect(testLogger.statusText, contains(
         'To avoid potential build failures, you can quickly migrate your app by '
         'following the steps on https://goo.gl/CP92wY'
@@ -385,7 +385,7 @@
         );
       }, throwsToolExit());
 
-      expect(testLogger.statusText.contains('Your app isn\'t using AndroidX'), isFalse);
+      expect(testLogger.statusText.contains("Your app isn't using AndroidX"), isFalse);
       expect(
         testLogger.statusText.contains(
           'To avoid potential build failures, you can quickly migrate your app by '
diff --git a/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart b/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart
index b8493a6..66b6922 100644
--- a/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart
+++ b/packages/flutter_tools/test/general.shard/fuchsia/fuchsia_device_test.dart
@@ -345,7 +345,7 @@
       ),
     });
 
-    test('takeScreenshot throws if file isn\'t .ppm', () async {
+    test("takeScreenshot throws if file isn't .ppm", () async {
       final FuchsiaDevice device = FuchsiaDevice('id', name: 'tester');
       await expectLater(
         () => device.takeScreenshot(globals.fs.file('file.invalid')),
@@ -435,7 +435,7 @@
       ),
     }, testOn: 'posix');
 
-    testUsingContext('takeScreenshot prints error if can\'t delete file from device', () async {
+    testUsingContext("takeScreenshot prints error if can't delete file from device", () async {
       final FuchsiaDevice device = FuchsiaDevice('0.0.0.0', name: 'tester');
 
       when(mockProcessManager.run(
diff --git a/packages/flutter_tools/test/general.shard/ios/mac_test.dart b/packages/flutter_tools/test/general.shard/ios/mac_test.dart
index e9afd81..bb28c06 100644
--- a/packages/flutter_tools/test/general.shard/ios/mac_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/mac_test.dart
@@ -202,7 +202,7 @@
       await diagnoseXcodeBuildFailure(buildResult);
       expect(
         testLogger.errorText,
-        contains('No Provisioning Profile was found for your project\'s Bundle Identifier or your \ndevice.'),
+        contains("No Provisioning Profile was found for your project's Bundle Identifier or your \ndevice."),
       );
     }, overrides: noColorTerminalOverride);
 
diff --git a/packages/flutter_tools/test/general.shard/ios/simulators_test.dart b/packages/flutter_tools/test/general.shard/ios/simulators_test.dart
index 0573714..097fec9 100644
--- a/packages/flutter_tools/test/general.shard/ios/simulators_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/simulators_test.dart
@@ -245,7 +245,7 @@
     });
 
     testUsingContext(
-      'old Xcode doesn\'t support screenshot',
+      "old Xcode doesn't support screenshot",
       () {
         when(mockXcode.majorVersion).thenReturn(7);
         when(mockXcode.minorVersion).thenReturn(1);
diff --git a/packages/flutter_tools/test/general.shard/platform_plugins_test.dart b/packages/flutter_tools/test/general.shard/platform_plugins_test.dart
index cbf998c..4c424bb 100644
--- a/packages/flutter_tools/test/general.shard/platform_plugins_test.dart
+++ b/packages/flutter_tools/test/general.shard/platform_plugins_test.dart
@@ -23,7 +23,7 @@
       when(mockFileSystem.path).thenReturn(pathContext);
     });
 
-    testUsingContext('throws tool exit if the plugin main class can\'t be read', () {
+    testUsingContext("throws tool exit if the plugin main class can't be read", () {
       when(pathContext.join('.pub_cache/plugin_a', 'android', 'src', 'main'))
         .thenReturn('.pub_cache/plugin_a/android/src/main');
 
@@ -52,7 +52,7 @@
           pluginPath: '.pub_cache/plugin_a',
         ).toMap();
       }, throwsToolExit(
-        message: 'Couldn\'t read file null even though it exists. '
+        message: "Couldn't read file null even though it exists. "
                  'Please verify that this file has read permission and try again.'
       ));
     }, overrides: <Type, Generator>{
diff --git a/packages/flutter_tools/test/general.shard/plugins_test.dart b/packages/flutter_tools/test/general.shard/plugins_test.dart
index 81bde7f..88e7b97 100644
--- a/packages/flutter_tools/test/general.shard/plugins_test.dart
+++ b/packages/flutter_tools/test/general.shard/plugins_test.dart
@@ -598,10 +598,10 @@
             await injectPlugins(flutterProject);
           },
           throwsToolExit(
-            message: 'The plugin `plugin1` doesn\'t have a main class defined in '
+            message: "The plugin `plugin1` doesn't have a main class defined in "
                      '/.tmp_rand2/flutter_plugin_invalid_package.rand2/android/src/main/java/plugin1/invalid/UseNewEmbedding.java or '
                      '/.tmp_rand2/flutter_plugin_invalid_package.rand2/android/src/main/kotlin/plugin1/invalid/UseNewEmbedding.kt. '
-                     'This is likely to due to an incorrect `androidPackage: plugin1.invalid` or `mainClass` entry in the plugin\'s pubspec.yaml.\n'
+                     "This is likely to due to an incorrect `androidPackage: plugin1.invalid` or `mainClass` entry in the plugin's pubspec.yaml.\n"
                      'If you are the author of this plugin, fix the `androidPackage` entry or move the main class to any of locations used above. '
                      'Otherwise, please contact the author of this plugin and consider using a different plugin in the meanwhile.',
           ),
@@ -785,7 +785,7 @@
         ProcessManager: () => FakeProcessManager.any(),
       });
 
-      testUsingContext('Registrant for web doesn\'t escape slashes in imports', () async {
+      testUsingContext("Registrant for web doesn't escape slashes in imports", () async {
         when(flutterProject.isModule).thenReturn(true);
         when(featureFlags.isWebEnabled).thenReturn(true);
         when(webProject.existsSync()).thenReturn(true);
diff --git a/packages/flutter_tools/test/general.shard/project_test.dart b/packages/flutter_tools/test/general.shard/project_test.dart
index 8ff0c27..49d2c41 100644
--- a/packages/flutter_tools/test/general.shard/project_test.dart
+++ b/packages/flutter_tools/test/general.shard/project_test.dart
@@ -138,7 +138,7 @@
         expectExists(project.directory.childDirectory('.android').childDirectory('Flutter'));
         expect(
           project.directory.childDirectory('android').childFile('settings.gradle').readAsStringSync(),
-          contains('new File(settingsDir.parentFile, \'.android/include_flutter.groovy\')'),
+          contains("new File(settingsDir.parentFile, '.android/include_flutter.groovy')"),
         );
       });
       testInMemory('can be redone after deletion', () async {
@@ -423,7 +423,7 @@
       testWithMocks('surrounded by single quotes', () async {
         final FlutterProject project = await someProject();
         addIosProjectFile(project.directory, projectFileContent: () {
-          return projectFileWithBundleId('io.flutter.someProject', qualifier: '\'');
+          return projectFileWithBundleId('io.flutter.someProject', qualifier: "'");
         });
         expect(await project.ios.productBundleIdentifier, 'io.flutter.someProject');
       });
@@ -442,7 +442,7 @@
       testInMemory('is populated from iOS bundle identifier', () async {
         final FlutterProject project = await someProject();
         addIosProjectFile(project.directory, projectFileContent: () {
-          return projectFileWithBundleId('io.flutter.someProject', qualifier: '\'');
+          return projectFileWithBundleId('io.flutter.someProject', qualifier: "'");
         });
         expect(await project.organizationNames, <String>['io.flutter']);
       });
@@ -457,7 +457,7 @@
       testInMemory('is populated from iOS bundle identifier in plugin example', () async {
         final FlutterProject project = await someProject();
         addIosProjectFile(project.example.directory, projectFileContent: () {
-          return projectFileWithBundleId('io.flutter.someProject', qualifier: '\'');
+          return projectFileWithBundleId('io.flutter.someProject', qualifier: "'");
         });
         expect(await project.organizationNames, <String>['io.flutter']);
       });
diff --git a/packages/flutter_tools/test/general.shard/resident_runner_test.dart b/packages/flutter_tools/test/general.shard/resident_runner_test.dart
index 533d9ce..7cf3537 100644
--- a/packages/flutter_tools/test/general.shard/resident_runner_test.dart
+++ b/packages/flutter_tools/test/general.shard/resident_runner_test.dart
@@ -450,7 +450,7 @@
     expect(testLogger.errorText, contains('Error'));
   }));
 
-  test('ResidentRunner can\'t take screenshot on device without support', () => testbed.run(() {
+  test("ResidentRunner can't take screenshot on device without support", () => testbed.run(() {
     when(mockDevice.supportsScreenshot).thenReturn(false);
 
     expect(() => residentRunner.screenshot(mockFlutterDevice),
diff --git a/packages/flutter_tools/test/general.shard/web/web_validator_test.dart b/packages/flutter_tools/test/general.shard/web/web_validator_test.dart
index 2bcdb9d..d9ed734 100644
--- a/packages/flutter_tools/test/general.shard/web/web_validator_test.dart
+++ b/packages/flutter_tools/test/general.shard/web/web_validator_test.dart
@@ -46,7 +46,7 @@
       expect(result.type, ValidationType.missing);
     }));
 
-    test('Doesn\'t warn about CHROME_EXECUTABLE unless it cant find chrome ', () => testbed.run(() async {
+    test("Doesn't warn about CHROME_EXECUTABLE unless it cant find chrome ", () => testbed.run(() async {
       when(mockProcessManager.canRun(kMacOSExecutable)).thenReturn(false);
       final ValidationResult result = await webValidator.validate();
       expect(result.messages, <ValidationMessage>[
diff --git a/packages/flutter_tools/test/general.shard/windows/visual_studio_test.dart b/packages/flutter_tools/test/general.shard/windows/visual_studio_test.dart
index 3534c86..e7f33dc 100644
--- a/packages/flutter_tools/test/general.shard/windows/visual_studio_test.dart
+++ b/packages/flutter_tools/test/general.shard/windows/visual_studio_test.dart
@@ -342,7 +342,7 @@
       Platform: () => windowsPlatform,
     });
 
-    testUsingContext('isLaunchable returns false if the installation can\'t be launched', () {
+    testUsingContext("isLaunchable returns false if the installation can't be launched", () {
       setMockCompatibleVisualStudioInstallation(null);
       setMockPrereleaseVisualStudioInstallation(null);
 
diff --git a/packages/flutter_tools/test/integration.shard/hot_reload_test.dart b/packages/flutter_tools/test/integration.shard/hot_reload_test.dart
index a08b67d..455e756 100644
--- a/packages/flutter_tools/test/integration.shard/hot_reload_test.dart
+++ b/packages/flutter_tools/test/integration.shard/hot_reload_test.dart
@@ -124,7 +124,7 @@
     await subscription.cancel();
   });
 
-  test('hot reload doesn\'t reassemble if paused', () async {
+  test("hot reload doesn't reassemble if paused", () async {
     await _flutter.run(withDebugger: true);
     final Completer<void> sawTick2 = Completer<void>();
     final Completer<void> sawTick3 = Completer<void>();