Ensure that different formatting of ndk properties file does not crash tool (#29528)
diff --git a/packages/flutter_tools/lib/src/android/android_sdk.dart b/packages/flutter_tools/lib/src/android/android_sdk.dart
index 99bba9f..754b31a 100644
--- a/packages/flutter_tools/lib/src/android/android_sdk.dart
+++ b/packages/flutter_tools/lib/src/android/android_sdk.dart
@@ -216,10 +216,15 @@
.split('\n')
.map<String>((String line) => line.trim())
.where((String line) => line.isNotEmpty);
- final Map<String, String> properties = Map<String, String>.fromIterable(
- propertiesFileLines.map<List<String>>((String line) => line.split(' = ')),
- key: (dynamic split) => split[0],
- value: (dynamic split) => split[1]);
+ final Map<String, String> properties = <String, String>{};
+ for (String line in propertiesFileLines) {
+ final List<String> parts = line.split(' = ');
+ if (parts.length == 2) {
+ properties[parts[0]] = parts[1];
+ } else {
+ printError('Malformed line in ndk source.properties: "$line".');
+ }
+ }
if (!properties.containsKey('Pkg.Revision')) {
throw AndroidNdkSearchError('Can not establish ndk-bundle version: $propertiesFile does not contain Pkg.Revision');