甚至在Xamarin中安装android v4支持库后出错

Raj*_*dam 4 c# xamarin.android xamarin

即使在从Xamarin Component Store安装v4支持库后,我也会收到此错误.我尝试使用Google搜索这些问题,但在开发Android应用时,我总是在Xamarin Studio中遇到同样的错误

在此输入图像描述

Jal*_*afa 13

这是Xamarin Bug 32498

当您正常安装Xamarin.Android.Support.* nuget包中的一个时,问题就开始了.

然后IDE(对我来说VS2015)挂起,一切顺利,所以你不得不关闭IDE.重新打开IDE并强制链接到程序集后,在构建项目时,它说:

包android.support.*不存在

以下是后台发生的情况:

首先你必须知道:

Xamarin.Android.Support.*实际上是谷歌支持库的 C#绑定(这是JAVA中写的),因此它们不是完全原生的,而且是google支持库的包装器(有关Xamarin C#绑定的更多信息,请参阅:绑定Java库) .

Bug场景:

IDE挂起的时间是从Internet上为每个Xamarin.Android.Support.*包开始下载Google支持库源(大约96 MB)然后将其提取到

C:\Users\%username%\AppData\Local\Xamarin 
Run Code Online (Sandbox Code Playgroud)

解决方案:

我建议2个解决方案:

  1. 一位朋友告诉我,使用22.2.1以外的版本可以解决问题(我没试过)

  2. 手动提取包(例如Xamarin.Android.Support.v4):

    1. 转到C:\Users\%username%\AppData\Local\Xamarin,删除具有所需库名称的文件夹(如果存在),例如Android.Support.v4
    2. 创建具有所需库名称的路径,C:\Users\%username%\AppData\Local\Xamarin\{LibraryName}\22.2.1例如C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4\22.2.1
    3. 此处下载Google支持库源(v16).
    4. 复制它并将其内容提取到 C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4\22.2.10\content
    5. 打开预先下载的存档android_m2repository_r16,导航到m2repository\com\android\support并转到libraryname\22.2.1(例如support-v4\22.2.1,搜索并打开libraryName-22.2.1.aar(例如support-v4-22.2.1.aar(它直接用WinRAR打开)提取文件的内容到C:\Users\%username%\AppData\Local\Xamarin\{LibraryName}\22.2.10\embedded例如C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4\22.2.10\embedded

    6. 运行package installation nuget命令

编辑

你必须保留android_m2repository_r16.zip的副本 C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4\22.2.10\