diff --git a/packages/flutter_tools/lib/src/ohos/ohos_sdk.dart b/packages/flutter_tools/lib/src/ohos/ohos_sdk.dart index 6aa8de9cb44b66c7b0e6839842d60d5f3d8a270c..b76e796b3750f47d53335fd41c5246a179740182 100644 --- a/packages/flutter_tools/lib/src/ohos/ohos_sdk.dart +++ b/packages/flutter_tools/lib/src/ohos/ohos_sdk.dart @@ -263,12 +263,19 @@ class HmosSdk implements HarmonySdk { File sdkPkgJson = globals.fs.directory(element).childFile('sdk-pkg.json'); if (sdkPkgJson.existsSync()) { dynamic sdk_pkg = JSON5.parse(sdkPkgJson.readAsStringSync()); - sdkVersionMap.addAll({int.parse(sdk_pkg['data']['apiVersion'] as String): element.basename}); + if (sdk_pkg['data'] != null && sdk_pkg['data']['apiVersion'] != null + && isNumeric(sdk_pkg['data']['apiVersion'] as String)) { + sdkVersionMap.addAll({int.parse(sdk_pkg['data']['apiVersion'] as String): element.basename}); + } } } } } + static bool isNumeric(String str) { + return double.tryParse(str) != null; + } + static String? getHdcPath(String sdkPath) { final bool isWindows = globals.platform.isWindows; // find it in api11 developer preview folder @@ -317,4 +324,4 @@ class HmosSdk implements HarmonySdk { } return true; } -} \ No newline at end of file +}