diff --git a/src/Xamarin.Android.Build.Tasks/Utilities/RuntimePropertiesParser.cs b/src/Xamarin.Android.Build.Tasks/Utilities/RuntimePropertiesParser.cs index 023bc208192..bf47af55265 100644 --- a/src/Xamarin.Android.Build.Tasks/Utilities/RuntimePropertiesParser.cs +++ b/src/Xamarin.Android.Build.Tasks/Utilities/RuntimePropertiesParser.cs @@ -24,9 +24,21 @@ class RuntimePropertiesParser JsonElement properties = runtimeOptions.GetProperty ("configProperties"); var ret = new Dictionary (StringComparer.OrdinalIgnoreCase); foreach (JsonProperty prop in properties.EnumerateObject ()) { - ret[prop.Name] = prop.Value.GetRawText (); + string? value = GetJsonValueAsString (prop.Value); + if (value is not null) { + ret[prop.Name] = value; + } } return ret; } + + static string? GetJsonValueAsString (JsonElement element) => + element.ValueKind switch { + JsonValueKind.String => element.GetString (), + JsonValueKind.True => "true", + JsonValueKind.False => "false", + JsonValueKind.Number or JsonValueKind.Object or JsonValueKind.Array => element.GetRawText (), + _ => null, // Null or Undefined + }; } diff --git a/tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj b/tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj index 231534731be..51457b1d5b1 100644 --- a/tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj +++ b/tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj @@ -31,7 +31,7 @@ NetworkInterfaces excluded: https://github.com/dotnet/runtime/issues/75155 --> - $(ExcludeCategories):CoreCLRIgnore:NTLM:RuntimeConfig + $(ExcludeCategories):CoreCLRIgnore:NTLM $(ExcludeCategories):NativeAOTIgnore:SSL:NTLM:AndroidClientHandler:Export:NativeTypeMap