在 Xamarin 中安装 android v4 支持库后仍然出错

Error even after installing android v4 support library in Xamarin

即使从 Xamarin Component Store 安装了 v4 支持库后,我也得到了这个 error.I 尝试用谷歌搜索这些问题,但我在开发 android app[=12] 时总是在 Xamarin Studio 中遇到同样的错误=]

我对使用 xamarin 版本 3.11.586 和 v4 支持库版本 22.2.0.0 的组件没有任何问题。你能试试这个吗?

你的截图太小了,我几乎看不清代码和错误信息。但看起来您在 Xamarin Studio 中有 Java 代码并且它正在生成编译错误。这是意料之中的,因为 Xamarin Studio 只编译 C#,而不编译 Java。您必须使用当前的 Java 代码并将其转换为 C#。

这是Xamarin Bug 32498

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

然后 IDE(对我来说是 VS2015)挂起并且没有任何进展,因此您被迫关闭 IDE。重新打开 IDE 并强制对程序集使用 link 之后,当涉及到构建项目时,它说:

package android.support.* doesn't exist

后台发生的情况如下:

首先你必须知道:

Xamarin.Android.Support.* 实际上是 google 支持库 的 C# 绑定(写在 JAVA),所以它们不是完全原生的,它们是 google 支持库的包装器(有关 Xamarin C# 绑定的更多信息,请阅读:Binding A Java Library)。

错误场景:

IDE 挂起的时间就是它开始下载 Google 支持库 来自 the internet 的资源(大约 96 MB)的时间对于每个 Xamarin.Android.Support.* 包,然后将其解压到

C:\Users\%username%\AppData\Local\Xamarin 

解决方案:

我提出 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}.2.1 例如C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4.2.1
    3. here (v16) 下载 Google 支持库源代码。
    4. 将其复制并将其内容提取到 C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4.2.10\content
    5. 打开预先下载的存档 android_m2repository_r16,导航到 m2repository\com\android\support 并转到 libraryname.2.1(例如 support-v4.2.1)。搜索并打开 libraryName-22.2.1.aar(例如support-v4-22.2.1.aar(直接用WinRAR打开)将文件内容解压到C:\Users\%username%\AppData\Local\Xamarin\{LibraryName}.2.10\embedded例如C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4.2.10\embedded

    6. 运行包安装nuget命令

编辑

你必须在 C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4.2.10\

中保留一份 android_m2repository_r16.zip