diff --git a/osu.Android/Linker.xml b/osu.Android/Linker.xml index d50f4a3a3a06..f8dc265fb4bb 100644 --- a/osu.Android/Linker.xml +++ b/osu.Android/Linker.xml @@ -67,10 +67,17 @@ Shader attribute scanning, TextureLoaderStore fallback chain, bindable system, resource store extension routing — all reflection-dependent. ppy.osu.Framework.Android: Android-specific host, input handling, surface wrappers. - ppy.Veldrid.SPIRV: SPIR-V cross-compiler; dynamically loads shader reflector types. --> - - - + ppy.Veldrid.SPIRV: SPIR-V cross-compiler; dynamically loads shader reflector types. + + NOTE: ppy.osu.Framework and ppy.osu.Framework.Android are intentionally omitted + from this descriptor. ILLink (in .NET Android Full-link mode) cannot resolve these + assemblies during the trimmer pass — they originate from a net10.0 NuGet package + that is not visible in ILLink's assembly search path for the android TFM. The + linker therefore cannot apply a preserve="all" rule, and having the entries only + generates "Could not resolve assembly" warnings with no benefit. The assemblies + are included intact in the APK (ILLink cannot trim what it cannot find), and every + reachable type is rooted from osu.Android / osu.Game which ARE in the preserve list. --> + - - + causes a RealmException at database open time. + NOTE: Realms.PlatformHelpers was a separate assembly in older Realm SDK + versions (≤ 10.x) and was merged into Realm in v11. Realm 20.x does not + ship it as a standalone assembly, so the entry is omitted here. --> + + objects from key-value pairs. ILoggerFactory finds providers by type. + NOTE: Microsoft.Extensions.Configuration (non-Abstractions) and + Microsoft.Extensions.Http are NOT directly referenced by this project and + are not shipped as standalone assemblies in .NET 10 (their APIs are in-box + or merged into the Abstractions layer). Adding them here would generate + "Could not resolve assembly" linker warnings with no preservation benefit. --> - -