GooglePlayServicesComponents icon indicating copy to clipboard operation
GooglePlayServicesComponents copied to clipboard

Error building Xamarin Android project in Release Mode.

Open pro777s opened this issue 1 year ago • 5 comments

Xamarin.Android Version (eg: 6.0):

17.9.3

Operating System & Version (eg: Mac OSX 10.11):

Windows 11 23H2

Google Play Services Version

  • [] GPS-FB with AndroidX dependencies (versions 1xx.yyyy.zz)

  • [] GPS-FB with Android.Support (legacy) dependencies (versions 71.yyyy.zz)

Describe your Issue

Error issued only in release mode on building Xamarin Android project.

Relevant information

Add relevant project settings from *.csproj file:

Packages used:

    <PackageReference Include="Xamarin.AndroidX.AppCompat" Version="1.6.1.7" />
    <PackageReference Include="Xamarin.Google.Android.Material" Version="1.0.0.1" />
    <PackageReference Include="Xamarin.Essentials" Version="1.6.1" />

Build settings (tools)

    <AndroidDexTool>d8</AndroidDexTool>
    <AndroidLinkTool>r8</AndroidLinkTool>
    <AndroidUseAapt2>true</AndroidUseAapt2>
    <AndroidEnableDesugar>true</AndroidEnableDesugar>

or even better - links to the existing code:

  • https://github.com/xamarin/AndroidX/blob/master/samples/BuildAll/BuildAll/BuildAll.csproj#L41-L44

  • https://github.com/xamarin/AndroidX/blob/master/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/BuildXamarinFormsApp.Android.csproj#L57-L58

NOTE: Please DO NOT submit screenshot images. Images are not searchable!

Minimal Repro Code Sample

If you want to speed up investigation and bug fixing: please provide minimal repro sample for tests.

Steps to Reproduce (with link to sample solution if possible):

Include any relevant Exception Stack traces, build logs, adb logs:

\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(649,5): error XALNK7000: Mono.Linker.MarkException: Error processing method: 'Xamarin.Coil.Decode.IDecoder Xamarin.Coil.Util._ComponentRegistries::RequireDecoder(Xamarin.Coil.ComponentRegistry,Java.Lang.Object,Square.OkIO.IBufferedSource,System.String)' in assembly: 'Xamarin.CoilBase.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve Square.OkIO.IBufferedSource

pro777s avatar May 08 '24 12:05 pro777s

Xamarin.Android Version 13.2.2.0 and MS VC 17.9.3

pro777s avatar May 08 '24 12:05 pro777s

After I build the project with the "No Linking" linker option, the project was build successfully. Then I set the linker option back to “Build packages of SDK and user ”, the project was also successfully assembled. We will consider the error corrected.

pro777s avatar May 08 '24 13:05 pro777s

@pro777s

Thanks for the feedback.

This smells like linker issue, but there are few issues with libraries packages used

  • Xamarin.Coil.* is outdated (2022-03-16) https://www.nuget.org/packages/Xamarin.Io.CoilKt.Coil/1.4.0
  • Xamarin.Google.Android.Material is very old (2020-05-06) https://www.nuget.org/packages/Xamarin.Google.Android.Material/1.0.0.1
  • Xamarin.Essentials is also old (2021-01-25) https://www.nuget.org/packages/Xamarin.Essentials/1.6.1 this package is not supported anymore https://github.com/xamarin/Essentials

I am afraid we will not be able to help you out.

You should migrate your app to MAUI.

moljac avatar May 15 '24 08:05 moljac

Could we get Xamarin.Coil.* updated? Looks like the latest version is 2.7.0:

https://central.sonatype.com/artifact/io.coil-kt/coil

Thanks!

v-hogood avatar Sep 03 '24 16:09 v-hogood

We no longer maintain that package and do not produce updates for it: https://github.com/xamarin/XamarinComponents/issues/1418

jpobst avatar Sep 23 '24 18:09 jpobst