Xamarin.Forms MissingMethodException:'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener'找不到

我已经从以下链接的一切: https : //developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/master-detail-page/我写的代码可以在这里find: http:// github.com/foyzulkarim/XamarinFormsDrawer我使用UWP项目在我的Windows 10本地计算机上成功部署了相同的项目,但是无论何时我想在Emulator或我的设备中进行部署,都会抛出以下exception。

System.MissingMethodException: Method 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found. 09-17 17:16:33.636 D/Mono (10472): DllImport attempting to load: '/system/lib/liblog.so'. 09-17 17:16:33.637 D/Mono (10472): DllImport loaded library '/system/lib/liblog.so'. 09-17 17:16:33.637 D/Mono (10472): DllImport searching in: '/system/lib/liblog.so' ('/system/lib/liblog.so'). 09-17 17:16:33.637 D/Mono (10472): Searching for '__android_log_print'. 09-17 17:16:33.637 D/Mono (10472): Probing '__android_log_print'. 09-17 17:16:33.637 D/Mono (10472): Found as '__android_log_print'. 09-17 17:16:33.645 I/MonoDroid(10472): UNHANDLED EXCEPTION: 09-17 17:16:33.658 I/MonoDroid(10472): System.MissingMethodException: Method 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found. 09-17 17:16:33.658 I/MonoDroid(10472): at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\Platform.cs:282 09-17 17:16:33.658 I/MonoDroid(10472): at Xamarin.Forms.Platform.Android.RendererFactory.GetRenderer (Xamarin.Forms.VisualElement view) [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\RendererFactory.cs:10 09-17 17:16:33.658 I/MonoDroid(10472): at Xamarin.Forms.Platform.Android.AppCompat.Platform.AddChild (Xamarin.Forms.Page page, System.Boolean layout) [0x00015] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:248 09-17 17:16:33.658 I/MonoDroid(10472): at Xamarin.Forms.Platform.Android.AppCompat.Platform.SetPage (Xamarin.Forms.Page newRoot) [0x00089] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:237 09-17 17:16:33.658 I/MonoDroid(10472): at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.InternalSetPage (Xamarin.Forms.Page page) [0x0009b] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity.cs:336 09-17 17:16:33.658 I/MonoDroid(10472): at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.SetMainPage () [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity.cs:410 09-17 17:16:33.659 I/MonoDroid(10472): at Xamarin.Forms.Platform.Android.FormsAppCompatActivity.LoadApplication (Xamarin.Forms.Application application) [0x00158] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity.cs:123 09-17 17:16:33.659 I/MonoDroid(10472): at App1.Droid.MainActivity.OnCreate (Android.OS.Bundle bundle) [0x00018] in C:\Users\foyzu\Source\Github\XamarinForms\XamarinFormsDrawer\App1\App1\App1.Droid\MainActivity.cs:23 09-17 17:16:33.659 I/MonoDroid(10472): at Android.Support.V4.App.FragmentActivity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x00011] in <71c3e52f1b484794bca1cdfb1b8b1fdb>:0 09-17 17:16:33.659 I/MonoDroid(10472): at (wrapper dynamic-method) System.Object:1a87dfa6-a154-49b0-925d-8ddad74d97cf (intptr,intptr,intptr) 09-17 17:16:33.677 W/art (10472): JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable 09-17 17:16:33.681 D/Mono (10472): DllImport searching in: '__Internal' ('(null)'). 09-17 17:16:33.681 D/Mono (10472): Searching for 'java_interop_jnienv_throw'. 09-17 17:16:33.681 D/Mono (10472): Probing 'java_interop_jnienv_throw'. 09-17 17:16:33.681 D/Mono (10472): Found as 'java_interop_jnienv_throw'. An unhandled exception occured. 09-17 17:16:34.399 E/mono (10472): 09-17 17:16:34.399 E/mono (10472): Unhandled Exception: 09-17 17:16:34.399 E/mono (10472): System.MissingMethodException: Method 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found. 09-17 17:16:34.399 E/mono-rt (10472): [ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found. referenceTable GDEF length=814 1 referenceTable GSUB length=11364 1 referenceTable GPOS length=47302 1 

在这里输入图像说明

在这里输入图像说明

Solutions Collecting From Web of "Xamarin.Forms MissingMethodException:'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener'找不到"

解决办法是,我需要更新包,只有Xamarin.Forms包。 像下面的图片。

按照底部的红圈,只更新Xamarin.Forms

更新之后,packages.config文件应该如下所示

 <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" /> <package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid60" /> <package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid60" /> <package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid60" /> <package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid60" /> <package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid60" /> <package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid60" /> <package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" /> <package id="Xamarin.Forms" version="2.3.2.127" targetFramework="monoandroid60" /> </packages> 

并忽略下面的其他软件包。 忽略这些更新

只要将你的nuget-packages更新到最新(Xamarin.forms)

清洁解决scheme

closuresvisualstudio

删除所有.zip文件:

C:\用户[YouUserName] \应用程序数据\本地\ Xamarin \拉链

重新启动visualstudio并重新编译:)它将再次下载这些.zip文件(可能需要几分钟)。 这些拉链包括相关的Android支持库。 所以它会下载真正的(与您引用的xamarin.forms版本相关)。

更新Xamarin.Forms nuget包不适合我。 在我的情况下,更新的Android Studio是必要的,使Xamarin.Forms与Visual Studio的工作。 更新后,重新启动Android Studio,并再次查找更新,并应用它们,如果他们发现。 您需要不断重复此操作,因为并不是所有更新都会一次安装。 至less这是我的情况。

我想这个工作,因为Android Studio包含Android SDK或Visual Studio或Xamarin需要的其他组件。

您需要将Xamarin.Forms包更新到最新版本

在所有项目上(避免其他例外)

对于便携式 ,。 Driod,。 IOSWindows Phone如果存在,那么必须清理你的解决scheme并closuresvisual studio并重新打开它,Finlay的一切都会好起来的。