如何修复 Xamarin.Forms PCL Android 移动应用程序中缺少的方法异常

How to fix missing method exception in Xamarin.Forms PCL Android mobile app

我在为 Android 移动应用程序更新 Xamarin.Forms 包后收到 System.MissingMethodException 错误。 在 MainActivity.cs 行 #22:

LoadApplication (new App ());

应用程序输出:

[] Missing method Android.Runtime.JNIEnv::StartCreateInstance(Type,string,JValue*) in assembly Mono.Android.dll, referenced in assembly /storage/emulated/0/Android/data/XAMLDataBindings_PCL.Droid/files/.__override__/Xamarin.Android.Support.v4.dll

我已经尝试了 Xamarin 论坛上提到的 CleanRebuild All,但仍然无法正常工作。该项目适用于 iOS,所以不确定为什么 Android 项目现在不会 运行?

我今天也遇到了同样的问题。我从 Android 项目中删除了所有 Xamarin.* NuGets,重新安装了 Xamarin.Forms,它获取了 Xamarin.Android.* NuGets 的先前版本,即 21.0.3.0。现在一切正常。我正在等待修复。

我遇到了完全相同的错误。通过升级而不是降级来解决它更好一点。

'Xamarin Studio' -> 'Check for Updates'
回答:"Up to date"

但是在您的 xxx.Droid 项目下查看屏幕左侧的解决方案树时,它写道 'Packages' 有一些更新。
打开 'Packages' 文件夹后,它会准确告诉您可以更新哪个包。
右键单击 -> 更新。

我更新了 Xamarin.Android.Support.v4
成功了。
享受吧。

我得到这个异常只是为了 iOS 模拟器,因为我使用平板设备进行 Android 调试。最后我发现它只是在电脑无法上网时发生的。

所以我认为真正的原因是:有一个网络引起的异常,但是Xamarin Studio不能给出真正的细节,只能给出一个愚蠢的假异常,比如"System.MissingMethodException: Attempted to access a missing method."

在我的案例中是 FloatingActionButton 导致了问题!

FAB.Droid.FloatingActionButtonRenderer.InitControl();