Ffimageloading: Linker error on AppCenter

Created on 13 Jul 2019  路  6Comments  路  Source: luberda-molinet/FFImageLoading

Description

Linker problem while compiling app on AppCenter

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018: The "LinkAssemblies" task failed unexpectedly. [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018: Mono.Linker.MarkException: Error processing method: 'System.Void FFImageLoading.Svg.Platform.SKSvg::ReadTextElement(System.Xml.Linq.XElement,FFImageLoading.Svg.Platform.SKText,SkiaSharp.SKTextAlign,System.Single,SkiaSharp.SKPaint,SkiaSharp.SKPaint)' in assembly: 'FFImageLoading.Svg.Platform.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.String System.String::TrimStart() [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod (Mono.Cecil.MethodReference reference) [0x00013] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.MarkMethod (Mono.Cecil.MethodReference reference) [0x0004a] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.MarkInstruction (Mono.Cecil.Cil.Instruction instruction) [0x00040] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.MarkMethodBody (Mono.Cecil.Cil.MethodBody body) [0x00098] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x00162] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x0001b] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:    --- End of inner exception stack trace --- [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00047] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue () [0x0000a] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.Process () [0x00102] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Steps.MarkStep.Process (Mono.Linker.LinkContext context) [0x0000d] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at MonoDroid.Tuner.MonoDroidMarkStep.Process (Mono.Linker.LinkContext context) [0x0000b] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) [0x0001c] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at MonoDroid.Tuner.Linker.Run (Mono.Linker.Pipeline pipeline, Mono.Linker.LinkContext context) [0x00000] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at MonoDroid.Tuner.Linker.Process (MonoDroid.Tuner.LinkerOptions options, Mono.Linker.ILogger logger, Mono.Linker.LinkContext& context) [0x00071] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Xamarin.Android.Tasks.LinkAssemblies.Execute (Java.Interop.Tools.Cecil.DirectoryAssemblyResolver res) [0x002d4] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Xamarin.Android.Tasks.LinkAssemblies.Execute () [0x0021f] in <c304dcc9c82e4174bfeded58a523ee7b>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00023] in <2338fdb301034c1d9c6b95e564d514b0>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018:   at Microsoft.Build.BackEnd.TaskBuilder+<ExecuteInstantiatedTask>d__26.MoveNext () [0x00212] in <2338fdb301034c1d9c6b95e564d514b0>:0  [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]
Done Building Project "/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj" (PackageForAndroid target(s)) -- FAILED.

Linker configured for Sdk Assemblies Only in Android build options

I can't share code because it's a customer app, sorry.

Information:
Visual Studio 2019 - v16.1.5
FFImageLoading (all 5 nugets) - v2.4.11.982
Xamarin.Forms - v3.6.0.344457

Thank you.

Most helpful comment

Problem solved.

I was compiling with Xamarin.Android 9.0 on AppCenter and the version must be Xamarin.Android 9.2

Thank you.

All 6 comments

I dont think that this has something to do with this library. I am using full linker with proguard and it works for me on appcenter. you should handle it yourself by skipping assemblies.

@EmilAlipiev is this case, I need to preserve the FFImageLoading.Svg.Platform.dll?

Do you not see this error in your local build and deploy? Appcenter is often unexpected but i dont believe this has something to do with appcenter because you should see this error in your local builds as well. I checked my project and i dont have it skip assemblies but I have this line in mainactivity

var ignore = typeof(FFImageLoading.Svg.Forms.SvgCachedImage);

before

global::Xamarin.Forms.Forms.Init(this, bundle);

This might cause linker to skip assembly. you can try this or try to add skip assemblies in android settings

No.. I do not see this error when compiling locally.
I configured the skip assemblies, tried again and I get the same error... I write the line you use (typeof(SvgCachedImage)) and I get the error again...

I don't know what to do more. :(

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): error MSB4018: Mono.Linker.MarkException: Error processing method: 'System.Void FFImageLoading.Svg.Platform.SKSvg::ReadTextElement(System.Xml.Linq.XElement,FFImageLoading.Svg.Platform.SKText,SkiaSharp.SKTextAlign,System.Single,SkiaSharp.SKPaint,SkiaSharp.SKPaint)' in assembly: 'FFImageLoading.Svg.Platform.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.String System.String::TrimStart() [/Users/vsts/agent/2.154.1/work/1/s/ClubeRed/ClubeRed.Android/ClubeRed.Android.csproj]

Problem solved.

I was compiling with Xamarin.Android 9.0 on AppCenter and the version must be Xamarin.Android 9.2

Thank you.

@hugodantas Experiencing a similar issue and your comments gave me an aha moment in the right direction. For me it was just a matter of updating the AppCenter Crash and Analytics packages. Thanks for sharing!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jorgenstorlie picture jorgenstorlie  路  28Comments

stesvis picture stesvis  路  144Comments

softsan picture softsan  路  32Comments

ManhDucIT picture ManhDucIT  路  22Comments

PCDK picture PCDK  路  22Comments