diff --git a/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets b/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets
index 7105bf0286c..e19d986acda 100644
--- a/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets
+++ b/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Resource.Designer.targets
@@ -227,29 +227,15 @@ Copyright (C) 2016 Xamarin. All rights reserved.
is processed by the ILLink step. If we do not do this then the reference to
`netstandard.dll` is not replaced with `System.Private.CoreLib` and the app crashes.
- We use a TrimmerRootDescriptor (not TrimmerRootAssembly) to prevent ILLink from
- trimming the designer's resource properties. FixLegacyResourceDesignerStep runs
- after ILLink and needs all properties present when rewriting library assemblies.
- A descriptor (-x) preserves types without making the assembly an entry point,
- which avoids pulling netstandard.dll into the output.
- See https://github.com/dotnet/runtime/issues/126518
-
- TODO: Once dotnet/runtime#126518 is fixed and flows to dotnet/android,
- simplify this to use TrimmerRootAssembly instead of the XML descriptor.
+ No TrimmerRootDescriptor is needed: PreTrimmingFixLegacyDesigner rewrites library
+ assemblies *before* ILLink, replacing designer field loads with calls to the designer
+ assembly's property getters. ILLink then naturally preserves only the referenced
+ properties through its mark step, allowing everything else to be trimmed.
-->
-
- <_DesignerLinkerDescriptor>$(IntermediateOutputPath)_Microsoft.Android.Resource.Designer.xml
-
-
$(_DesignerAssemblyName).dll
@@ -257,12 +243,6 @@ Copyright (C) 2016 Xamarin. All rights reserved.
true
true
-
-
-
diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets
index ddf8348d9e9..14eb57c1134 100644
--- a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets
+++ b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets
@@ -267,7 +267,7 @@ This file contains the NativeAOT-specific MSBuild logic for .NET for Android.
-->
+ DependsOnTargets="_PreTrimmingFixLegacyDesignerUpdateItems;NativeCompile" />
diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.LlvmIr.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.LlvmIr.targets
index 926cbaa7e9f..4b1cb9fcab0 100644
--- a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.LlvmIr.targets
+++ b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.TypeMap.LlvmIr.targets
@@ -8,6 +8,7 @@
+
<_RemoveRegisterFlag>$(MonoAndroidIntermediateAssemblyDir)shrunk\shrunk.flag
@@ -223,6 +224,62 @@
+
+
+
+ <_PreTrimmingAssembly Include="@(ResolvedFileToPublish)" Condition=" '%(Extension)' == '.dll' and '%(ResolvedFileToPublish.PostprocessAssembly)' == 'true' " />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_PreTrimmingSwappableItem Include="@(ResolvedFileToPublish)"
+ Condition=" '%(Extension)' == '.dll' and Exists('$(IntermediateOutputPath)prelink/%(Filename)%(Extension)') " />
+
+
+
+
+
+ Deterministic="$(Deterministic)" />
diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/PostTrimmingPipeline.cs b/src/Xamarin.Android.Build.Tasks/Tasks/PostTrimmingPipeline.cs
index 9af2b1b6419..fa3c3385737 100644
--- a/src/Xamarin.Android.Build.Tasks/Tasks/PostTrimmingPipeline.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tasks/PostTrimmingPipeline.cs
@@ -6,7 +6,6 @@
using Microsoft.Android.Build.Tasks;
using Microsoft.Build.Framework;
using Mono.Cecil;
-using Mono.Linker;
using MonoDroid.Tuner;
namespace Xamarin.Android.Tasks;
@@ -17,7 +16,7 @@ namespace Xamarin.Android.Tasks;
/// This opens each assembly once (via DirectoryAssemblyResolver with ReadWrite) and
/// runs all registered steps on it, then writes modified assemblies in-place. Currently
/// runs CheckForObsoletePreserveAttributeStep, StripEmbeddedLibrariesStep and
-/// (optionally) AddKeepAlivesStep and FixLegacyResourceDesignerStep.
+/// (optionally) AddKeepAlivesStep.
///
/// Runs in the inner build after ILLink but before ReadyToRun/crossgen2 compilation,
/// so that R2R images are generated from the already-modified assemblies.
@@ -35,8 +34,6 @@ public class PostTrimmingPipeline : AndroidTask
public bool Deterministic { get; set; }
- public bool UseDesignerAssembly { get; set; }
-
public override bool RunTask ()
{
using var resolver = new DirectoryAssemblyResolver (
@@ -103,15 +100,6 @@ public override bool RunTask ()
},
(msg) => Log.LogDebugMessage (msg)));
}
- if (UseDesignerAssembly) {
- // Create an MSBuildLinkContext so FixLegacyResourceDesignerStep can resolve assemblies
- // and log messages. The resolver is owned by the outer 'using' block, so we intentionally
- // do not dispose this context (LinkContext.Dispose would double-dispose the resolver).
- var linkContext = new MSBuildLinkContext (resolver, Log);
- var fixLegacyStep = new FixLegacyResourceDesignerStep ();
- fixLegacyStep.Initialize (linkContext);
- steps.Add (new PostTrimmingFixLegacyResourceDesignerStep (fixLegacyStep));
- }
foreach (var (item, assembly) in loadedAssemblies) {
var context = new StepContext (item, item);
@@ -130,24 +118,3 @@ public override bool RunTask ()
return !Log.HasLoggedErrors;
}
}
-
-///
-/// Thin wrapper around for the post-trimming pipeline.
-/// Calls directly, matching the
-/// behavior of the former ILLink path which processed all assemblies without StepContext flag filtering.
-/// Assemblies without a resource designer are skipped internally by ProcessAssemblyDesigner.
-///
-class PostTrimmingFixLegacyResourceDesignerStep : IAssemblyModifierPipelineStep
-{
- readonly FixLegacyResourceDesignerStep _inner;
-
- public PostTrimmingFixLegacyResourceDesignerStep (FixLegacyResourceDesignerStep inner)
- {
- _inner = inner;
- }
-
- public void ProcessAssembly (AssemblyDefinition assembly, StepContext context)
- {
- context.IsAssemblyModified |= _inner.ProcessAssemblyDesigner (assembly);
- }
-}
diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/PreTrimmingFixLegacyDesigner.cs b/src/Xamarin.Android.Build.Tasks/Tasks/PreTrimmingFixLegacyDesigner.cs
new file mode 100644
index 00000000000..f34be506849
--- /dev/null
+++ b/src/Xamarin.Android.Build.Tasks/Tasks/PreTrimmingFixLegacyDesigner.cs
@@ -0,0 +1,94 @@
+#nullable enable
+
+using System.Collections.Generic;
+using System.IO;
+using Java.Interop.Tools.Cecil;
+using Microsoft.Android.Build.Tasks;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+using Mono.Cecil;
+using MonoDroid.Tuner;
+
+namespace Xamarin.Android.Tasks;
+
+///
+/// Runs on assemblies that are about to be
+/// trimmed by ILLink. This rewrites library assemblies so their resource field accesses
+/// (ldsfld) become calls to the designer assembly's property getters.
+///
+/// Running this *before* ILLink means the trimmer sees the rewritten IL and can freely
+/// trim unused designer types/fields. This avoids the need to root the entire designer
+/// assembly during trimming (which causes an APK size regression).
+///
+/// Modified assemblies are written to rather than in-place,
+/// to avoid mutating files in the shared NuGet cache or shared intermediate output paths.
+///
+public class PreTrimmingFixLegacyDesigner : AndroidTask
+{
+ public override string TaskPrefix => "PTD";
+
+ [Required]
+ public ITaskItem [] Assemblies { get; set; } = [];
+
+ [Required]
+ public string TargetName { get; set; } = "";
+
+ [Required]
+ public string OutputDirectory { get; set; } = "";
+
+ public bool Deterministic { get; set; }
+
+ [Output]
+ public ITaskItem []? ModifiedAssemblies { get; set; }
+
+ public override bool RunTask ()
+ {
+ Directory.CreateDirectory (OutputDirectory);
+
+ using var resolver = new DirectoryAssemblyResolver (
+ this.CreateTaskLogger (), loadDebugSymbols: true);
+
+ foreach (var assembly in Assemblies) {
+ var dir = Path.GetFullPath (Path.GetDirectoryName (assembly.ItemSpec) ?? "");
+ if (!resolver.SearchDirectories.Contains (dir)) {
+ resolver.SearchDirectories.Add (dir);
+ }
+ }
+
+ var linkContext = new MSBuildLinkContext (resolver, Log);
+ var fixLegacyStep = new FixLegacyResourceDesignerStep ();
+ fixLegacyStep.Initialize (linkContext);
+
+ var modified = new List ();
+
+ foreach (var item in Assemblies) {
+ // Match the filtering in FixLegacyResourceDesignerStep.ProcessAssembly:
+ // skip the main assembly and framework/BCL assemblies.
+ if (Path.GetFileNameWithoutExtension (item.ItemSpec) == TargetName) {
+ continue;
+ }
+ if (MonoAndroidHelper.IsFrameworkAssembly (item)) {
+ continue;
+ }
+
+ var assembly = resolver.GetAssembly (item.ItemSpec);
+ if (fixLegacyStep.ProcessAssemblyDesigner (assembly)) {
+ var outputPath = Path.Combine (OutputDirectory, Path.GetFileName (item.ItemSpec));
+ Log.LogDebugMessage ($" Writing modified assembly: {outputPath}");
+ assembly.Write (outputPath, new WriterParameters {
+ WriteSymbols = assembly.MainModule.HasSymbols,
+ DeterministicMvid = Deterministic,
+ });
+
+ var outputItem = new TaskItem (outputPath);
+ item.CopyMetadataTo (outputItem);
+ outputItem.SetMetadata ("OriginalPath", item.ItemSpec);
+ modified.Add (outputItem);
+ }
+ }
+
+ ModifiedAssemblies = modified.ToArray ();
+
+ return !Log.HasLoggedErrors;
+ }
+}
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.CoreCLR.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.CoreCLR.apkdesc
index 9c3e342a13d..12bf7ff59d0 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.CoreCLR.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.CoreCLR.apkdesc
@@ -8,22 +8,22 @@
"Size": 400044
},
"lib/arm64-v8a/libassembly-store.so": {
- "Size": 3115312
+ "Size": 3107808
},
"lib/arm64-v8a/libclrjit.so": {
- "Size": 3202072
+ "Size": 3207768
},
"lib/arm64-v8a/libcoreclr.so": {
- "Size": 5766640
+ "Size": 5769760
},
"lib/arm64-v8a/libmonodroid.so": {
- "Size": 1365104
+ "Size": 1365360
},
"lib/arm64-v8a/libmscordaccore.so": {
- "Size": 2493552
+ "Size": 2485088
},
"lib/arm64-v8a/libmscordbi.so": {
- "Size": 1902744
+ "Size": 1901544
},
"lib/arm64-v8a/libSystem.Globalization.Native.so": {
"Size": 71936
@@ -32,7 +32,7 @@
"Size": 1281696
},
"lib/arm64-v8a/libSystem.Native.so": {
- "Size": 107904
+ "Size": 108424
},
"lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": {
"Size": 165536
@@ -74,5 +74,5 @@
"Size": 1904
}
},
- "PackageSize": 9258778
+ "PackageSize": 9254682
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.MonoVM.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.MonoVM.apkdesc
index 5b76d46097d..40c5de77bbf 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.MonoVM.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.MonoVM.apkdesc
@@ -8,34 +8,34 @@
"Size": 22388
},
"lib/arm64-v8a/lib__Microsoft.Android.Resource.Designer.dll.so": {
- "Size": 18696
+ "Size": 18296
},
"lib/arm64-v8a/lib_Java.Interop.dll.so": {
- "Size": 88048
+ "Size": 88144
},
"lib/arm64-v8a/lib_Mono.Android.dll.so": {
- "Size": 117928
+ "Size": 117984
},
"lib/arm64-v8a/lib_Mono.Android.Runtime.dll.so": {
- "Size": 26464
+ "Size": 26472
},
"lib/arm64-v8a/lib_System.Console.dll.so": {
- "Size": 24432
+ "Size": 24424
},
"lib/arm64-v8a/lib_System.Linq.dll.so": {
- "Size": 25512
+ "Size": 25504
},
"lib/arm64-v8a/lib_System.Private.CoreLib.dll.so": {
- "Size": 635608
+ "Size": 637632
},
"lib/arm64-v8a/lib_System.Runtime.dll.so": {
- "Size": 20296
+ "Size": 20288
},
"lib/arm64-v8a/lib_System.Runtime.InteropServices.dll.so": {
"Size": 21632
},
"lib/arm64-v8a/lib_UnnamedProject.dll.so": {
- "Size": 20144
+ "Size": 20160
},
"lib/arm64-v8a/libarc.bin.so": {
"Size": 19176
@@ -44,10 +44,10 @@
"Size": 36616
},
"lib/arm64-v8a/libmonodroid.so": {
- "Size": 1386072
+ "Size": 1386328
},
"lib/arm64-v8a/libmonosgen-2.0.so": {
- "Size": 3124368
+ "Size": 3124400
},
"lib/arm64-v8a/libSystem.Globalization.Native.so": {
"Size": 71936
@@ -56,7 +56,7 @@
"Size": 1281696
},
"lib/arm64-v8a/libSystem.Native.so": {
- "Size": 107904
+ "Size": 108424
},
"lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": {
"Size": 165536
@@ -98,5 +98,5 @@
"Size": 1904
}
},
- "PackageSize": 3267093
+ "PackageSize": 3271189
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.NativeAOT.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.NativeAOT.apkdesc
index f3a4ee3f174..75e2332c446 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.NativeAOT.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.NativeAOT.apkdesc
@@ -8,7 +8,7 @@
"Size": 25400
},
"lib/arm64-v8a/libUnnamedProject.so": {
- "Size": 5056848
+ "Size": 5072296
},
"META-INF/BNDLTOOL.RSA": {
"Size": 1221
@@ -44,5 +44,5 @@
"Size": 1904
}
},
- "PackageSize": 2122722
+ "PackageSize": 2126818
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.CoreCLR.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.CoreCLR.apkdesc
index 2d96ae07999..235a8aceeb2 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.CoreCLR.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.CoreCLR.apkdesc
@@ -32,22 +32,22 @@
"Size": 2396
},
"lib/arm64-v8a/libassembly-store.so": {
- "Size": 14459432
+ "Size": 14105312
},
"lib/arm64-v8a/libclrjit.so": {
- "Size": 3202072
+ "Size": 3207768
},
"lib/arm64-v8a/libcoreclr.so": {
- "Size": 5766640
+ "Size": 5769760
},
"lib/arm64-v8a/libmonodroid.so": {
- "Size": 1365104
+ "Size": 1365360
},
"lib/arm64-v8a/libmscordaccore.so": {
- "Size": 2493552
+ "Size": 2485088
},
"lib/arm64-v8a/libmscordbi.so": {
- "Size": 1902744
+ "Size": 1901544
},
"lib/arm64-v8a/libSystem.Globalization.Native.so": {
"Size": 71936
@@ -56,7 +56,7 @@
"Size": 1281696
},
"lib/arm64-v8a/libSystem.Native.so": {
- "Size": 107904
+ "Size": 108424
},
"lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": {
"Size": 165536
@@ -2285,5 +2285,5 @@
"Size": 812848
}
},
- "PackageSize": 23086011
+ "PackageSize": 22889403
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.MonoVM.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.MonoVM.apkdesc
index 054a451576a..04fe96f22a1 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.MonoVM.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.MonoVM.apkdesc
@@ -29,40 +29,40 @@
"Size": 2396
},
"lib/arm64-v8a/lib__Microsoft.Android.Resource.Designer.dll.so": {
- "Size": 258400
+ "Size": 19544
},
"lib/arm64-v8a/lib_FormsViewGroup.dll.so": {
"Size": 25424
},
"lib/arm64-v8a/lib_Java.Interop.dll.so": {
- "Size": 96656
+ "Size": 96704
},
"lib/arm64-v8a/lib_Mono.Android.dll.so": {
- "Size": 541880
+ "Size": 541912
},
"lib/arm64-v8a/lib_Mono.Android.Runtime.dll.so": {
- "Size": 26464
+ "Size": 26472
},
"lib/arm64-v8a/lib_mscorlib.dll.so": {
"Size": 21472
},
"lib/arm64-v8a/lib_netstandard.dll.so": {
- "Size": 23120
+ "Size": 23112
},
"lib/arm64-v8a/lib_System.Collections.dll.so": {
- "Size": 34024
+ "Size": 34016
},
"lib/arm64-v8a/lib_System.Collections.NonGeneric.dll.so": {
- "Size": 25688
+ "Size": 25680
},
"lib/arm64-v8a/lib_System.Collections.Specialized.dll.so": {
- "Size": 23880
+ "Size": 23872
},
"lib/arm64-v8a/lib_System.ComponentModel.dll.so": {
"Size": 19632
},
"lib/arm64-v8a/lib_System.ComponentModel.Primitives.dll.so": {
- "Size": 21368
+ "Size": 21360
},
"lib/arm64-v8a/lib_System.ComponentModel.TypeConverter.dll.so": {
"Size": 43672
@@ -77,46 +77,46 @@
"Size": 24656
},
"lib/arm64-v8a/lib_System.dll.so": {
- "Size": 19888
+ "Size": 19856
},
"lib/arm64-v8a/lib_System.Drawing.dll.so": {
- "Size": 19472
+ "Size": 19464
},
"lib/arm64-v8a/lib_System.Drawing.Primitives.dll.so": {
- "Size": 30096
+ "Size": 30088
},
"lib/arm64-v8a/lib_System.Formats.Asn1.dll.so": {
- "Size": 51040
+ "Size": 51032
},
"lib/arm64-v8a/lib_System.IO.Compression.Brotli.dll.so": {
- "Size": 29616
+ "Size": 29608
},
"lib/arm64-v8a/lib_System.IO.Compression.dll.so": {
- "Size": 34680
+ "Size": 34672
},
"lib/arm64-v8a/lib_System.IO.IsolatedStorage.dll.so": {
- "Size": 28312
+ "Size": 28304
},
"lib/arm64-v8a/lib_System.Linq.dll.so": {
"Size": 48144
},
"lib/arm64-v8a/lib_System.Linq.Expressions.dll.so": {
- "Size": 186048
+ "Size": 186040
},
"lib/arm64-v8a/lib_System.Net.Http.dll.so": {
"Size": 86752
},
"lib/arm64-v8a/lib_System.Net.Primitives.dll.so": {
- "Size": 42384
+ "Size": 42352
},
"lib/arm64-v8a/lib_System.Net.Requests.dll.so": {
- "Size": 21592
+ "Size": 21584
},
"lib/arm64-v8a/lib_System.ObjectModel.dll.so": {
- "Size": 27048
+ "Size": 27040
},
"lib/arm64-v8a/lib_System.Private.CoreLib.dll.so": {
- "Size": 997176
+ "Size": 1000144
},
"lib/arm64-v8a/lib_System.Private.DataContractSerialization.dll.so": {
"Size": 217968
@@ -125,10 +125,10 @@
"Size": 62280
},
"lib/arm64-v8a/lib_System.Private.Xml.dll.so": {
- "Size": 237032
+ "Size": 237024
},
"lib/arm64-v8a/lib_System.Private.Xml.Linq.dll.so": {
- "Size": 35544
+ "Size": 35536
},
"lib/arm64-v8a/lib_System.Runtime.dll.so": {
"Size": 20424
@@ -137,7 +137,7 @@
"Size": 21632
},
"lib/arm64-v8a/lib_System.Runtime.Numerics.dll.so": {
- "Size": 61504
+ "Size": 63320
},
"lib/arm64-v8a/lib_System.Runtime.Serialization.dll.so": {
"Size": 19400
@@ -146,13 +146,13 @@
"Size": 20368
},
"lib/arm64-v8a/lib_System.Runtime.Serialization.Primitives.dll.so": {
- "Size": 21496
+ "Size": 21488
},
"lib/arm64-v8a/lib_System.Security.Cryptography.dll.so": {
- "Size": 82088
+ "Size": 82080
},
"lib/arm64-v8a/lib_System.Text.RegularExpressions.dll.so": {
- "Size": 194000
+ "Size": 194240
},
"lib/arm64-v8a/lib_System.Xml.dll.so": {
"Size": 19288
@@ -161,7 +161,7 @@
"Size": 19304
},
"lib/arm64-v8a/lib_UnnamedProject.dll.so": {
- "Size": 22216
+ "Size": 22224
},
"lib/arm64-v8a/lib_Xamarin.AndroidX.Activity.dll.so": {
"Size": 34960
@@ -221,7 +221,7 @@
"Size": 581000
},
"lib/arm64-v8a/lib_Xamarin.Forms.Platform.Android.dll.so": {
- "Size": 390544
+ "Size": 390392
},
"lib/arm64-v8a/lib_Xamarin.Forms.Platform.dll.so": {
"Size": 35992
@@ -239,10 +239,10 @@
"Size": 36616
},
"lib/arm64-v8a/libmonodroid.so": {
- "Size": 1386072
+ "Size": 1386328
},
"lib/arm64-v8a/libmonosgen-2.0.so": {
- "Size": 3124368
+ "Size": 3124400
},
"lib/arm64-v8a/libSystem.Globalization.Native.so": {
"Size": 71936
@@ -251,7 +251,7 @@
"Size": 1281696
},
"lib/arm64-v8a/libSystem.Native.so": {
- "Size": 107904
+ "Size": 108424
},
"lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": {
"Size": 165536
@@ -2480,5 +2480,5 @@
"Size": 812848
}
},
- "PackageSize": 11287613
+ "PackageSize": 11144253
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.NativeAOT.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.NativeAOT.apkdesc
index c86f1cb9523..15f764d5031 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.NativeAOT.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.NativeAOT.apkdesc
@@ -29,7 +29,7 @@
"Size": 2396
},
"lib/arm64-v8a/libUnnamedProject.so": {
- "Size": 22749272
+ "Size": 21522936
},
"META-INF/androidx.activity_activity.version": {
"Size": 6
@@ -2252,5 +2252,5 @@
"Size": 812848
}
},
- "PackageSize": 12808265
+ "PackageSize": 12505161
}
\ No newline at end of file