将 Android.Support Library v7 AppCompat 更新到 21.0.3 版本后出错

Error after updating the Android.Support Library v7 AppCompat to the 21.0.3 version

将 Android.Support 库 v7 AppCompat 更新到 21.0.3 版本后,我遇到了这个错误:

1>C:\Program Files (x86)\MSBuild\Xamarin\Androi\Xamarin.Android.Common.targets(236,2): error XA5207: Please install package: 'Android Support Library' available in SDK installer. Java library file C:\Users...\AppData\Local\Xamarin\Android.Support.v4.0.3\embedded\classes.jar doesn't exist.

1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(236,2): error XA5207: Please install package: 'Android Support Library' available in SDK installer. Java library file C:\Users...\AppData\Local\Xamarin\Android.Support.v4.0.3\embedded\libs/internal_impl-21.0.3.jar doesn't exist.

1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(236,2): error XA5206: Please install package: 'Android Support Library' available in SDK installer. Android resource directory C:\Users...\AppData\Local\Xamarin\Android.Support.v4.0.3\embedded./ doesn't exist.

我尝试从 SDK 管理器中删除 Android 支持库 21.0.3 并重新下载。

有类似的问题:Android Support Library and Media Router .jar files cannot be found 但是我没有在我的项目中使用地图。我该如何解决这个问题?

我正在使用 Visual Studio 2013, 使用 API 21 编译(Xamarin.Android v5.0 支持), 最小目标 API 16, 目标 API 21

  1. 删除文件夹:21.0.3 (...\AppData\Local\Xamarin\Android.Support.v4.0.3)
  2. 重建您的应用程序。

    对我来说很好用:

  1. 删除文件夹(...\AppData\Local\Xamarin\Android.*)
  2. 从 (...\AppData\Local\Xamarin\zips)
  3. 中删除 *.zip 文件
  4. 重建您的应用程序。

您可以尝试以下三个选项之一:

1-首先是让VS自己解决问题。它可以通过删除 (...\AppData\Local\Xamarin\Android.Support.v4) 目录(如 rubWhosebug 所说)然后重建项目来完成。 VS 将下载并安装所需的内容。如果它不起作用,请执行第 2 项。

2- 手动下载 android_m2repository_rnn.zip 并将其放入 (...\AppData\Local\Xamarin\zips ) 文件夹。 VS 将完成剩下的工作(包括提取和安装文件)。您可以从这里下载 m2repositories:

https://dl-ssl.google.com/android/repository/android_m2repository_r33.zip

只需将 URL 末尾的数字重命名为您需要的名称,然后下载文件即可。

注意: 在某些情况下,您可能需要将文件重命名为 URL 的 MD5 散列。 (对我来说 VS 有点愚蠢,除非我将 m2repository 文件重命名为它的 MD5 哈希,否则什么都不做)。

这里是一些 MD5 散列的列表:

android_m2repository_r33.zip --> 5FB756A25962361D17BBE99C3B3FCC44.zip android_m2repository_r32.zip --> F16A3455987DBAE5783F058F19F7FCDF.zip android_m2repository_r31.zip --> 99A8907CE2324316E754A95E4C2D786E.zip android_m2repository_r30.zip --> 05AD180B8BDC7C21D6BCB94DDE7F2C8F.zip android_m2repository_r29.zip --> 2A3A8A6D6826EF6CC653030E7D695C41.zip android_m2repository_r28.zip --> 17BE247580748F1EDB72E9F374AA0223.zip android_m2repository_r27.zip --> C9FD4FCD69D7D12B1D9DF076B7BE4E1C.zip android_m2repository_r26.zip --> 8157FC1C311BB36420C1D8992AF54A4D.zip android_m2repository_r25.zip --> 0B3F1796C97C707339FB13AE8507AF50.zip android_m2repository_r24.zip --> 8E3C9EC713781EDFE1EFBC5974136BEA.zip android_m2repository_r23.zip --> D5BB66B3640FD9B9C6362C9DB5AB0FE7.zip android_m2repository_r22.zip --> 96659D653BDE0FAEDB818170891F2BB0.zip android_m2repository_r21.zip --> CD3223F2EFE068A26682B9E9C4B6FBB5.zip android_m2repository_r20.zip --> 650E58DF02DB1A832386FA4A2DE46B1A.zip android_m2repository_r19.zip --> 263B062D6EFAA8AEE39E9460B8A5851A.zip android_m2repository_r18.zip --> 25947AD38DCB4865ABEB61522FAFDA0E.zip android_m2repository_r17.zip --> 49054774F44AE5F35A6BA9D3C117EFD8.zip android_m2repository_r16.zip --> 0595E577D19D31708195A83087881EE6.zip

您还可以在此处找到列表:https://developer.xamarin.com/guides/android/troubleshooting/resolving-library-installation-errors/#Manually_Downloading_m2repository

3- 手动下载和安装 m2repository 文件。详细过程可以在这里找到:

https://developer.xamarin.com/guides/android/troubleshooting/resolving-library-installation-errors/#Manually_Downloading_and_Installing_m2repository_Files

  • 关闭Visual Studio
  • 删除或重命名 C:\Users\\AppData\Local\
  • 中的 Xamarin 文件夹
  • 再次打开visual studio项目
  • 清洁解决方案
  • 重新编译,等很久不要打断。

删除我所有缓存的 nuget 包并重建解决方案解决了我的问题。我从这里删除了文件夹:

C:\Users\{YourUserName}\.nuget\packages