[flutter_tools] ensure --dart-define can parse args with commas (#73798)

diff --git a/dev/bots/test.dart b/dev/bots/test.dart
index 93ac203..f54803e 100644
--- a/dev/bots/test.dart
+++ b/dev/bots/test.dart
@@ -1028,13 +1028,13 @@
   await _runWebDebugTest('lib/null_safe_main.dart', enableNullSafety: true);
   await _runWebDebugTest('lib/web_define_loading.dart',
     additionalArguments: <String>[
-      '--dart-define=test.valueA=Example',
+      '--dart-define=test.valueA=Example,A',
       '--dart-define=test.valueB=Value',
     ]
   );
   await _runWebReleaseTest('lib/web_define_loading.dart',
     additionalArguments: <String>[
-      '--dart-define=test.valueA=Example',
+      '--dart-define=test.valueA=Example,A',
       '--dart-define=test.valueB=Value',
     ]
   );
diff --git a/dev/devicelab/lib/tasks/integration_tests.dart b/dev/devicelab/lib/tasks/integration_tests.dart
index 30a5b4c..528118b 100644
--- a/dev/devicelab/lib/tasks/integration_tests.dart
+++ b/dev/devicelab/lib/tasks/integration_tests.dart
@@ -131,7 +131,7 @@
   return DriverTest(
     '${flutterDirectory.path}/dev/integration_tests/ui',
     'lib/defines.dart', extraOptions: <String>[
-    '--dart-define=test.valueA=Example',
+    '--dart-define=test.valueA=Example,A',
     '--dart-define=test.valueB=Value',
     ],
   );
diff --git a/dev/integration_tests/ui/test_driver/defines_test.dart b/dev/integration_tests/ui/test_driver/defines_test.dart
index af049ec..a4b5318 100644
--- a/dev/integration_tests/ui/test_driver/defines_test.dart
+++ b/dev/integration_tests/ui/test_driver/defines_test.dart
@@ -17,6 +17,6 @@
   });
 
   test('Can run with --dart-define', () async {
-    await driver.waitFor(find.text('ExampleValue'));
+    await driver.waitFor(find.text('Example,AValue'));
   });
 }
diff --git a/dev/integration_tests/web/lib/web_define_loading.dart b/dev/integration_tests/web/lib/web_define_loading.dart
index 32f771d..742afbb 100644
--- a/dev/integration_tests/web/lib/web_define_loading.dart
+++ b/dev/integration_tests/web/lib/web_define_loading.dart
@@ -8,7 +8,7 @@
   final StringBuffer output = StringBuffer();
   const String combined = String.fromEnvironment('test.valueA') +
     String.fromEnvironment('test.valueB');
-  if (combined == 'ExampleValue') {
+  if (combined == 'Example,AValue') {
     output.write('--- TEST SUCCEEDED ---');
     print('--- TEST SUCCEEDED ---');
   } else {
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
index b9adae8..1d926b3 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -476,6 +476,7 @@
             'and double.fromEnvironment constructors.\n'
             'Multiple defines can be passed by repeating --dart-define multiple times.',
       valueHelp: 'foo=bar',
+      splitCommas: false,
     );
   }