From 75c50da5f620f7b73c2ff4dea1e58bf01c0798ac Mon Sep 17 00:00:00 2001 From: Jonah Williams Date: Mon, 18 Mar 2019 10:51:24 -0700 Subject: [PATCH] Ensure that different formatting of ndk properties file does not crash tool (#29528) --- .../flutter_tools/lib/src/android/android_sdk.dart | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/flutter_tools/lib/src/android/android_sdk.dart b/packages/flutter_tools/lib/src/android/android_sdk.dart index 99bba9f3c4..754b31a94f 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 @@ class AndroidNdk { .split('\n') .map((String line) => line.trim()) .where((String line) => line.isNotEmpty); - final Map properties = Map.fromIterable( - propertiesFileLines.map>((String line) => line.split(' = ')), - key: (dynamic split) => split[0], - value: (dynamic split) => split[1]); + final Map properties = {}; + for (String line in propertiesFileLines) { + final List 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');