Xamarin Forms Android问题,package android.support.design.*不存在。

8

我有一个Xamarin.Forms项目,在其中Android无法构建,事实上,即使是全新的项目,我也遇到了相同的问题。Android失败,并出现大量错误。我已经安装和重新安装了Android SDK、Java,并确保所有Android SDK中的内容都已安装,但仍然没有成功。

Severity    Code    Description Project File    Line    Suppression State
Error       error: package android.support.design.widget.TabLayout does not exist
        android.support.design.widget.TabLayout.OnTabSelectedListener,  MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\md5270abb39e60627f0f200893b490a1ade\TabbedPageRenderer.java   8   
Error       error: package android.support.design.widget.TabLayout does not exist
    public void onTabReselected (android.support.design.widget.TabLayout.Tab p0)    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\md5270abb39e60627f0f200893b490a1ade\TabbedPageRenderer.java   76  
Error       error: package android.support.design.widget.TabLayout does not exist
    private native void n_onTabReselected (android.support.design.widget.TabLayout.Tab p0); MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\md5270abb39e60627f0f200893b490a1ade\TabbedPageRenderer.java   81  
Error       error: package android.support.design.widget.TabLayout does not exist
    public void onTabSelected (android.support.design.widget.TabLayout.Tab p0)  MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\md5270abb39e60627f0f200893b490a1ade\TabbedPageRenderer.java   84  
Error       error: package android.support.design.widget.TabLayout does not exist
    private native void n_onTabSelected (android.support.design.widget.TabLayout.Tab p0);   MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\md5270abb39e60627f0f200893b490a1ade\TabbedPageRenderer.java   89  
Error       error: package android.support.design.widget.TabLayout does not exist
    public void onTabUnselected (android.support.design.widget.TabLayout.Tab p0)    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\md5270abb39e60627f0f200893b490a1ade\TabbedPageRenderer.java   92  
Error       error: package android.support.design.widget.TabLayout does not exist
    private native void n_onTabUnselected (android.support.design.widget.TabLayout.Tab p0); MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\md5270abb39e60627f0f200893b490a1ade\TabbedPageRenderer.java   97  
Error       error: package android.support.design.widget.AppBarLayout does not exist
        android.support.design.widget.AppBarLayout.OnOffsetChangedListener  MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\AppBarLayout_OnOffsetChangedListenerImplementor.java   8   
Error       error: cannot find symbol
    public void onOffsetChanged (android.support.design.widget.AppBarLayout p0, int p1)
  symbol:   class AppBarLayout
  location: package android.support.design.widget   MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\AppBarLayout_OnOffsetChangedListenerImplementor.java   27  
Error       error: cannot find symbol
    private native void n_onOffsetChanged (android.support.design.widget.AppBarLayout p0, int p1);
  symbol:   class AppBarLayout
  location: package android.support.design.widget   MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\AppBarLayout_OnOffsetChangedListenerImplementor.java   32  
Error       error: package android.support.design.widget.NavigationView does not exist
        android.support.design.widget.NavigationView.OnNavigationItemSelectedListener   MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\NavigationView_OnNavigationItemSelectedListenerImplementor.java    8   
Error       error: package android.support.design.widget.SwipeDismissBehavior does not exist
        android.support.design.widget.SwipeDismissBehavior.OnDismissListener    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\SwipeDismissBehavior_OnDismissListenerImplementor.java 8   
Error       error: package android.support.design.widget.TabLayout does not exist
        android.support.design.widget.TabLayout.OnTabSelectedListener   MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\TabLayout_OnTabSelectedListenerImplementor.java    8   
Error       error: package android.support.design.widget.TabLayout does not exist
    public void onTabReselected (android.support.design.widget.TabLayout.Tab p0)    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\TabLayout_OnTabSelectedListenerImplementor.java    29  
Error       error: package android.support.design.widget.TabLayout does not exist
    private native void n_onTabReselected (android.support.design.widget.TabLayout.Tab p0); MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\TabLayout_OnTabSelectedListenerImplementor.java    34  
Error       error: package android.support.design.widget.TabLayout does not exist
    public void onTabSelected (android.support.design.widget.TabLayout.Tab p0)  MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\TabLayout_OnTabSelectedListenerImplementor.java    37  
Error       error: package android.support.design.widget.TabLayout does not exist
    private native void n_onTabSelected (android.support.design.widget.TabLayout.Tab p0);   MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\TabLayout_OnTabSelectedListenerImplementor.java    42  
Error       error: package android.support.design.widget.TabLayout does not exist
    public void onTabUnselected (android.support.design.widget.TabLayout.Tab p0)    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\TabLayout_OnTabSelectedListenerImplementor.java    45  
Error       error: package android.support.design.widget.TabLayout does not exist
    private native void n_onTabUnselected (android.support.design.widget.TabLayout.Tab p0); MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp.Droid\obj\Debug\android\src\mono\android\support\design\widget\TabLayout_OnTabSelectedListenerImplementor.java    50  
Warning CS0108  'App.Current' hides inherited member 'Application.Current'. Use the new keyword if hiding was intended. MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\App.cs    9   
Warning CS0108  'LoginPage.IsBusy' hides inherited member 'Page.IsBusy'. Use the new keyword if hiding was intended.    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\LoginPage.xaml.cs 53  
Warning CS4014  Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\LoginPage.xaml.cs 105 
Warning CS4014  Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\LoginPage.xaml.cs 112 
Warning CS0649  Field 'LoginServerResponseModel.Login' is never assigned to, and will always have its default value null    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Models\LoginServerResponseModel.cs    8   
Warning CS0649  Field 'RegistrationServerResponseModel.registration' is never assigned to, and will always have its default value null  MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Models\RegistrationServerResponseModel.cs 8   
Warning CS4014  Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\SignupPage.xaml.cs    99  
Warning CS4014  Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\SignupPage.xaml.cs    150 
Warning CS4014  Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\SignupPage.xaml.cs    157 
Warning CS0414  The field 'UploadImagePage.imgcount' is assigned but its value is never used    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\UploadImagePage.xaml.cs   10  
Warning CS0414  The field 'UploadImagePage.userfolder' is assigned but its value is never used  MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\UploadImagePage.xaml.cs   11  
Warning CS4014  Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\UploadImagePage.xaml.cs   56  
Warning     @(Content) build action is not supported    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Images\background.png     
Warning     @(Content) build action is not supported    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Images\check_active.png       
Warning     @(Content) build action is not supported    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Images\check_inactive.png     
Warning     @(Content) build action is not supported    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Images\icon_easyrest.png      
Warning     @(Content) build action is not supported    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Images\ic_launcher.png        
Warning     @(Content) build action is not supported    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Images\logout.png     
Warning     @(Content) build action is not supported    MyApp.Droid P:\VisualStudioProjects\MyApp\MyApp\MyApp\Images\pdf_icon.png   
5个回答

4

尝试备份并删除C:\Users\UserName\AppData\Local\Xamarin\Android.Support.Design\23.0.1.3(或类似版本号)下的任何内容,然后构建项目。检查输出窗口,您应该会看到一个指向zip文件的链接以及解压缩它的位置。

您可能还需要对其他文件夹进行此操作,例如Android.Support.v7.AppCompat。


尝试过这个,实际上一开始所有这些文件夹都是空的,我不得不下载压缩包并将其放入这些文件夹中。 - Adam Bennett
好的,更新到新的Xamarin之后,我删除了所有的Android.*文件夹,然后创建了一个新的Xamarin.Froms共享项目,这样修复了那些文件夹,我的项目也可以正常工作了。 - Adam Bennett
虽然我对这个解决方案并不太有信心,但它对我来说非常有效。我将子文件夹“23.0.1.3”放入其他“...Local\Xamarin\Android...”文件夹中,并删除了所有内容,在此之后我的解决方案又可以编译安卓应用程序了。谢谢。 - Diego Cotini

4
我解决这个错误的方法是从应用程序项目文件夹中删除obj和bin文件夹,然后重新构建。对我有用。

2
是的,这对我也起作用了。 - vkapadia

2

在经过一番折腾后,我终于解决了这个问题。这是我所做的:我同时更新了Xamarin到最新版本和VS 2015至更新2,并且在启动VS之前删除了所有User/username/AppData/Xamarin/Android.Support.*文件夹。然后我打开了VS 2015并创建了一个全新的Xamarin Forms共享项目解决方案,结果所有必需的文件都被复制过来并且Android也编译成功了。


0

首先检查组件 android.support.design.Library 是否已安装

在我的情况下,我已经安装了它,然后我删除了 android.support.design.Library 组件并重新安装以修复问题。


0

Mac 用户

打开终端并输入以下命令:

open ~/.local/share/Xamarin/

在桌面上创建一个“以防万一”文件夹,并将所有内容从~/.local/share/Xamarin/文件夹中移出。 重新构建您的应用程序。 您将在控制台上看到类似以下消息的打印:
引用: /Users/{用户名}/Documents/Development/{路径到.Droid项目}:错误 XA5209:解压失败。请 下载 https://dl-ssl.google.com/android/repository/android_m2repository_r29.zip 并将其解压缩到 /Users/{用户名}/.local/share/Xamarin/Xamarin.Android.Support.v4/23.3.0.0/content 目录下。(XA5209)
下载新的.zip文件并将其解压缩到:
open ~/.local/share/Xamarin/Xamarin.Android.Support.v4/23.3.0.0/content

你可能需要为其他文件夹重复此过程。

如果您使用的是电脑,请查看尼格尔的answer


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接