From 38978fc03d2dc2a27592a150c77fe37cf4cbeb89 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Fri, 27 Nov 2020 11:02:30 +0100 Subject: [PATCH 1/4] [illink] Set feature switches defaults Set all current feature switches, but `InvariantGlobalization`, to defaults which trim the features. Context: https://github.com/dotnet/runtime/blob/master/docs/workflow/trimming/feature-switches.md Difference in apk size of XA BuildReleaseArm64False test before/after: Summary: - 417,632 Assemblies -15.98% (of 2,613,075) --- .../targets/Microsoft.Android.Sdk.ILLink.targets | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets index f6e6efe1fc6..78850a4c2ed 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets @@ -9,6 +9,20 @@ This file contains the .NET 5-specific targets to customize ILLink + + + false + false + false + false + true + false + false + + Date: Mon, 30 Nov 2020 10:23:55 +0100 Subject: [PATCH 2/4] Update list of included assemblies Remove `System.Diagnostics.DiagnosticSource.dll` from the list, as it is now linked away as it should be. --- .../Tests/Xamarin.Android.Build.Tests/PackagingTest.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs index ba60319528d..f0bd0c01409 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs @@ -90,7 +90,6 @@ public void CheckIncludedAssemblies () "System.Collections.NonGeneric.dll", "System.ComponentModel.Primitives.dll", "System.Console.dll", - "System.Diagnostics.DiagnosticSource.dll", "System.Formats.Asn1.dll", "System.IO.Compression.Brotli.dll", "System.IO.Compression.dll", From b646270dca9270c9742ace3ecf21f3662927aff7 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Mon, 30 Nov 2020 11:02:37 +0100 Subject: [PATCH 3/4] Improve DebuggerSupport setting condition --- .../targets/Microsoft.Android.Sdk.ILLink.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets index 78850a4c2ed..d4eb5e5ce7e 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets @@ -14,7 +14,7 @@ This file contains the .NET 5-specific targets to customize ILLink Runtime libraries feature switches defaults Available feature switches: https://github.com/dotnet/runtime/blob/master/docs/workflow/trimming/feature-switches.md --> - false + false false false false From 038c42385af103957e3e9bbee21a53f1dd400e1a Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Mon, 30 Nov 2020 11:57:39 +0100 Subject: [PATCH 4/4] Update the condition once more --- .../targets/Microsoft.Android.Sdk.ILLink.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets index d4eb5e5ce7e..745d1413527 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.ILLink.targets @@ -14,7 +14,7 @@ This file contains the .NET 5-specific targets to customize ILLink Runtime libraries feature switches defaults Available feature switches: https://github.com/dotnet/runtime/blob/master/docs/workflow/trimming/feature-switches.md --> - false + $(AndroidUseDebugRuntime) false false false