4

After updating Xamarin.Forms version to latest stable version 4.6.0.800 while making build in release mode getting error:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(5,5): Error XALNK7000: Mono.Linker.MarkException: Error processing method: 'System.Void Plugin.LocalNotification.Platform.Droid.NotificationServiceImpl::ShowLater(Plugin.LocalNotification.NotificationRequest)' in assembly: 'Plugin.LocalNotification.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve AndroidX.Work.OneTimeWorkRequest/Builder AndroidX.Work.OneTimeWorkRequest/Builder::SetInitialDelay(System.Int64,Java.Util.Concurrent.TimeUnit)
at Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod (Mono.Cecil.MethodReference reference) [0x00013] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Steps.MarkStep.MarkMethod (Mono.Cecil.MethodReference reference) [0x0004a] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Steps.MarkStep.MarkInstruction (Mono.Cecil.Cil.Instruction instruction) [0x00040] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Steps.MarkStep.MarkMethodBody (Mono.Cecil.Cil.MethodBody body) [0x000c2] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Steps.MarkStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x00186] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x0001b] in <0275dd5bdfa6470181a4d79d0790489d>:0
--- End of inner exception stack trace ---
at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00047] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue () [0x0000a] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Steps.MarkStep.Process () [0x00102] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Steps.MarkStep.Process (Mono.Linker.LinkContext context) [0x0000d] in <0275dd5bdfa6470181a4d79d0790489d>:0
at MonoDroid.Tuner.MonoDroidMarkStep.Process (Mono.Linker.LinkContext context) [0x0000b] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Pipeline.ProcessStep (Mono.Linker.LinkContext context, Mono.Linker.Steps.IStep step) [0x0000d] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) [0x0000f] in <0275dd5bdfa6470181a4d79d0790489d>:0
at MonoDroid.Tuner.Linker.Run (Mono.Linker.Pipeline pipeline, Mono.Linker.LinkContext context) [0x00000] in <0275dd5bdfa6470181a4d79d0790489d>:0
at MonoDroid.Tuner.Linker.Process (MonoDroid.Tuner.LinkerOptions options, Mono.Linker.ILogger logger, Mono.Linker.LinkContext& context) [0x00071] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Xamarin.Android.Tasks.LinkAssemblies.Execute (Java.Interop.Tools.Cecil.DirectoryAssemblyResolver res) [0x001dd] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Xamarin.Android.Tasks.LinkAssemblies.RunTask () [0x0001b] in <0275dd5bdfa6470181a4d79d0790489d>:0
at Xamarin.Android.Tasks.AndroidTask.Execute () [0x00000] in <0275dd5bdfa6470181a4d79d0790489d>:0 (XALNK7000)

Any one know solution?

Divyesh
  • 2,085
  • 20
  • 35

1 Answers1

6

I answered my own question, finally after few days I have got the workaround for this issue. It might be helpful to someone who's looking for the solution.

Solution 1: Follow below steps

  • Update Net standard to 2.1
  • Update Plugin.LocalNotification to latest version 5.0.4
  • Remove unnecessary Android X nuggets
  • Remove Xamarin.Android.Support.v7.MediaRouter
  • Enable Multidex in release mode
  • Remove bin/obj and rebuild app [It will work now]

Solution 2: Change the way you reference packages in all projects

  • Remove all packages from Android & iOS project
  • Add packages to only PCL/Net standard project
  • Add reference of Core project in Android & iOS project
  • Must use latest version of Plugin.LocalNotification which is 5.0.4
Brandon Minnick
  • 13,342
  • 15
  • 65
  • 123
Divyesh
  • 2,085
  • 20
  • 35