Can not build anymore on Bitrise with Xamarin Forms 3.6
I see XF 3.6 has a breaking change related to this PR, and there's been some previous discussion.
https://github.com/xamarin/Xamarin.Forms/pull/5398
"[Android] Remove changes to IVisualElementRenderer so it remains backwards compatible"
Any guidance on this? Thanks.
Build failure when updating to XF 3.6 from 3.5
Build to pass
Build faiils
``
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: The "LinkAssemblies" task failed unexpectedly. [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: Mono.Linker.MarkException: Error processing method: 'System.Void FFImageLoading.Forms.Platform.CachedImageFastRenderer::Xamarin.Forms.Platform.Android.IVisualElementRenderer.add_LayoutChange(System.EventHandler1
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod (Mono.Cecil.MethodReference reference) [0x00013] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.MarkMethod (Mono.Cecil.MethodReference reference) [0x0004a] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x000d3] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x0001b] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: --- End of inner exception stack trace --- [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00047] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue () [0x0000a] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.Process () [0x00102] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.Process (Mono.Linker.LinkContext context) [0x0000d] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at MonoDroid.Tuner.MonoDroidMarkStep.Process (Mono.Linker.LinkContext context) [0x0000b] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) [0x0001c] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at MonoDroid.Tuner.Linker.Run (Mono.Linker.Pipeline pipeline, Mono.Linker.LinkContext context) [0x00000] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at MonoDroid.Tuner.Linker.Process (MonoDroid.Tuner.LinkerOptions options, Mono.Linker.ILogger logger, Mono.Linker.LinkContext& context) [0x00071] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Xamarin.Android.Tasks.LinkAssemblies.Execute (Java.Interop.Tools.Cecil.DirectoryAssemblyResolver res) [0x002d4] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Xamarin.Android.Tasks.LinkAssemblies.Execute () [0x0021f] in <78f051a6e2064f849cc3ee585300af39>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00029] in <7b80049ba212460da3a78bdfcc799ef4>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2129,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost taskHost, Microsoft.Build.BackEnd.ItemBucket bucket, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x001f6] in <7b80049ba212460da3a78bdfcc799ef4>:0 [/Users/vagrant/git/src/MyApp.Android/MyApp.Android.csproj]
````
I have very similar case - after upgrade to xf3.6 the code compiles fine but fails in runtime during startup of the app. The exception looks like this:
[MonoDroid] UNHANDLED EXCEPTION:
[MonoDroid] System.TypeLoadException: Could not load list of method overrides due to Method not found: void Xamarin.Forms.Platform.Android.IVisualElementRenderer.add_LayoutChange(System.EventHandler`1<Android.Views.View/LayoutChangeEventArgs>)
[MonoDroid] at Quality.Droid.MainActivity.OnCreate (Android.OS.Bundle bundle) [0x0004b] in /Users/noster/dev/tp/qualityapp/Quality/Droid/MainActivity.cs:61
[MonoDroid] at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x00011] in <3faca578033c421aa590cc3addd3b6d8>:0
[MonoDroid] at (wrapper dynamic-method) System.Object.16(intptr,intptr,intptr)
[ject.qualityde] JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable
[Mono] DllImport searching in: '__Internal' ('(null)').
[Mono] Searching for 'java_interop_jnienv_throw'.
[Mono] Probing 'java_interop_jnienv_throw'.
[Mono] Found as 'java_interop_jnienv_throw'.
[mono]
[mono] Unhandled Exception:
[mono] System.TypeLoadException: Could not load list of method overrides due to Method not found: void Xamarin.Forms.Platform.Android.IVisualElementRenderer.add_LayoutChange(System.EventHandler`1<Android.Views.View/LayoutChangeEventArgs>)
[mono] at (wrapper dynamic-method) System.Object.16(intptr,intptr,intptr)
[mono] at (wrapper native-to-managed) System.Object.16(intptr,intptr,intptr)
[mono-rt] [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load list of method overrides due to Method not found: void Xamarin.Forms.Platform.Android.IVisualElementRenderer.add_LayoutChange(System.EventHandler`1<Android.Views.View/LayoutChangeEventArgs>)
[mono-rt] at (wrapper dynamic-method) System.Object.16(intptr,intptr,intptr)
[mono-rt] at (wrapper native-to-managed) System.Object.16(intptr,intptr,intptr)
[ject.qualityde] java_vm_ext.cc:542] JNI DETECTED ERROR IN APPLICATION: JNI CallStaticIntMethodV called with pending exception android.runtime.JavaProxyThrowable: System.TypeLoadException: Could not load list of method overrides due to Method not found: void Xamarin.Forms.Platform.Android.IVisualElementRenderer.add_LayoutChange(System.EventHandler`1<Android.Views.View/LayoutChangeEventArgs>)
[ject.qualityde] java_vm_ext.cc:542] at Quality.Droid.MainActivity.OnCreate (Android.OS.Bundle bundle) [0x0004b] in /Users/noster/dev/tp/qualityapp/Quality/Droid/MainActivity.cs:61
[ject.qualityde] java_vm_ext.cc:542] at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x00011] in <3faca578033c421aa590cc3addd3b6d8>:0
[ject.qualityde] java_vm_ext.cc:542] at (wrapper dynamic-method) System.Object.16(intptr,intptr,intptr)
[ject.qualityde] java_vm_ext.cc:542] at void md51e0aad01824edea8a008c06516852ad2.MainActivity.n_onCreate(android.os.Bundle) (MainActivity.java:-2)
[ject.qualityde] java_vm_ext.cc:542] at void md51e0aad01824edea8a008c06516852ad2.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:46)
[ject.qualityde] java_vm_ext.cc:542] at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7136)
[ject.qualityde] java_vm_ext.cc:542] at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7127)
[ject.qualityde] java_vm_ext.cc:542] at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1271)
[ject.qualityde] java_vm_ext.cc:542] at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2893)
[ject.qualityde] java_vm_ext.cc:542] at android.app.Activity android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions, android.content.Intent) (ActivityThread.java:3048)
[ject.qualityde] java_vm_ext.cc:542] at void android.app.servertransaction.LaunchActivityItem.execute(android.app.ClientTransactionHandler, android.os.IBinder, android.app.servertransaction.PendingTransactionActions) (LaunchActivityItem.java:78)
[ject.qualityde] java_vm_ext.cc:542] at void android.app.servertransaction.TransactionExecutor.executeCallbacks(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:108)
[ject.qualityde] java_vm_ext.cc:542] at void android.app.servertransaction.TransactionExecutor.execute(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:68)
[ject.qualityde] java_vm_ext.cc:542] at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1808)
[ject.qualityde] java_vm_ext.cc:542] at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:106)
[ject.qualityde] java_vm_ext.cc:542] at void android.os.Looper.loop() (Looper.java:193)
[ject.qualityde] java_vm_ext.cc:542] at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6669)
[ject.qualityde] java_vm_ext.cc:542] at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
[ject.qualityde] java_vm_ext.cc:542] at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:493)
[ject.qualityde] java_vm_ext.cc:542] at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:858)
Ver.2.4.5.867-pre has the same problem
Could not load list of method overrides due to Method not found: void Xamarin.Forms.Platform.Android.IVisualElementRenderer.add_LayoutChange(System.EventHandler 1<Android.Views.View/LayoutChangeEventArgs>)
FYI v2.4.3.840 seems to be working
Ah yes v2.4.3.840 worked for me too. Reading release notes on both here and XF repo I can kind of see why this version works. I'm guessing that breaking change will be reverted now in a new FFImageLoading release? This XF breaking change also broke another nuget package in my app, downgrading that worked too.
Same here after upgrading Xamarin.Forms
I have the same issue
+1
i have the same problem wuth forms 3.6 update
@michaeldimoudis
This XF breaking change also broke another nuget package in my app, downgrading that worked too.
What other package?
@kicsiede Thanks, v2.4.3.840 is works to me
@kicsiede Thanks, v2.4.3.840 is works to me
Same for me
Please check 2.4.5.870-pre. Cheers.
Let's continue here: https://github.com/luberda-molinet/FFImageLoading/issues/1154
Most helpful comment
FYI v2.4.3.840 seems to be working