.NET för Android-varning XA4257

Exempelmeddelande

warning XA4257: Skipping Java peer type 'Google.Android.Material.Shadow.ShadowDrawableWrapper' from assembly 'Xamarin.Google.Android.Material' because referenced type 'AndroidX.AppCompat.Graphics.Drawable.DrawableWrapper' from assembly 'Xamarin.AndroidX.AppCompat.AppCompatResources' could not be resolved in '/home/user/.nuget/packages/xamarin.androidx.appcompat.appcompatresources/1.6.0/lib/net6.0-android31.0/Xamarin.AndroidX.AppCompat.AppCompatResources.dll'. This type will not be included in the trimmable type map.

Problematik

Den trimningsbara typmappningen hittade en Java-peer-typ vars hanterade bastyp eller implementerade gränssnitt refererar till en typ som inte finns i den lösta uppsättningen sammansättningar.

Detta kan inträffa när NuGet-paket i Android-bindningsdiagrammet har skapats mot olika versioner av ett annat bindningspaket. Typen kan vara oanvänd av appen, men NativeAOT kompilerar en sluten värld och måste lösa rotade hanterade typer ivrigt.

Lösning

Om appen använder den överhoppade typen uppdaterar du de aktuella NuGet-paketen så att den refererade typen finns eller uppdaterar till versioner av bindningspaketen som är kompatibla med varandra.

Om appen inte använder den överhoppade typen krävs ingen åtgärd. Typen utelämnas från den trimningsbara typmappningen så att NativeAOT inte misslyckas vid matchning av oanvända föråldrade metadata.