构建失败:Xamarin.Forms 中的 Android 项目出错

Build unsuccessful : Error with Android project in Xamarin.Forms

我只是创建了一个小的 Xamarin.Forms 示例应用程序。当我构建我的 Android 项目时,我遇到了一些错误。 我只是用谷歌搜索错误并找到一些解决方案。但没有任何效果。 最后一天我重新安装了 Visual Studio 2015 和 Xamarin Studio。 所以可能xamarin会全部更新。

这里我只是列出我的错误和建议的解决方案。


错误 1:

解压缩失败。请下载https://dl-ssl.google.com/android/repository/android_m2repository_r10.zip解压到...~\Local\Xamarin\Android.Support.v4.0.3\content目录.

建议的解决方案: 文件下载成功,根据错误信息替换。


错误 2: _请安装包:'Android Support Library' 在 SDK 安装程序中可用。 Java 库文件...~\Local\Xamarin\Android.Support.v4.0.3\embedded\classes.jar 不存在。 请安装包:'Android Support Library' 在 SDK 安装程序中可用。 Java库文件...~\Local\Xamarin\Android.Support.v4.0.3\embedded\libs/internal_impl-21.0.3.jar没有exist._

建议的解决方案: Android支持库被删除并重新安装。


错误 3: 原因:...~\Local\Xamarin\zipsFD832DCC1792D8ACA07FAC3259FC5A9.zip 不是有效的 zip 文件。

建议的解决方案: 我没有找到任何解决此错误的方法。


这些解决方案仍然没有用。在我的情况下不起作用。


我正在使用:


详细报告如下:

=== Xamarin Studio ===

版本 5.10(内部版本 871) 安装 UUID:c5309e12-1ab1-494c-9296-033a0a5c3f24 运行: 微软.NET 4.0.30319.42000 GTK+ 2.24.23(MS-Windows 主题) GTK# 2.12.30

=== Xamarin.Android ===

版本:6.0.0 Android SDK: D:\Android\android-sdk 支持的 Android 版本: 2.3(API 10 级) 4.0.3(API 15 级) 4.1(API 16 级) 4.2(API 17 级) 4.3(API 18 级) 4.4(API 19 级) 4.4.87(API 20 级) 5.0(API 等级 21) 5.1(API 22 级) 6.0(API 23 级)

SDK 工具版本:24.4

SDK 平台工具版本:23.0.1

SDK 构建工具版本:23.0.1

Java SDK: C:\Program Files (x86)\Java\jdk1.7.0_55 java 版本“1.7.0_55” Java(TM) SE 运行环境(build 1.7.0_55-b13) Java HotSpot(TM) 客户端 VM(构建 24.55-b03,混合模式,共享)

=== Xamarin Android 玩家 ===

版本:0.6.5 位置:C:\Program Files\Xamarin Android Player\DeviceManager.exe

=== 构建信息 ===

版本号:510000871 Git 修订版:4e9c5abb5ffdae12ba02ac49da83f8b2011dbb88 建造日期:2015-11-12 07:16:34-05 Xamarin 插件:55007ed0e56436f385d8e26394a45be563abc7e8 构建通道:monodevelop-windows-cycle6

===操作系统===

Windows6.3.9600.0(64 位)

有什么想法或建议可以解决这个错误吗?

删除位于 \Local\Xamarin\zipsFD832DCC1792D8ACA07FAC3259FC5A9.zip

的 zip

清理并重建您的解决方案。

我在尝试使用 xamarin forms 2.0 时遇到了这个问题

问题通常出现在 IDE(例如 VS2015)尝试解压缩该 zip 时...VS 挂起,您必须强制关闭它...当您重新打开 IDE 时,您无法使用此版本的 xamarin 编译任何内容。

首先你应该下载 r23 没有 r10。每个都包含每个版本的程序集 api。

当你拥有它时,你应该删除 C:\Users\%username%\AppData\Local\Xamarin 上的库文件夹,例如 Android.Support.v4

使用库名称创建路径 C:\Users\%username%\AppData\Local\Xamarin{LibraryName}\23.0.1

将下载的r23复制解压到C:\Users\%username%\AppData\Local\Xamarin\Android.Support.v4.2.10\content

转到 m2repository\com\android\support 并在 libraryname\version 下您将获得一个扩展名为“.aar”的文件,这是一个重命名为 .rar 的 zip 文件,并将其解压缩到 C:\Users\%username %\AppData\Local\Xamarin{图书馆名}\23.0.1\embedded

顺便下载一份r23.zip必须留在:

C:\Users\%用户名%\AppData\Local\Xamarin{库名}\23.0.1\

完成此操作后,您可以再次编译

删除所有压缩文件。即使它要求您下载并替换,它也会再次损坏。更快的方法是删除所有压缩文件并重建,它会根据需要自动下载和解压缩。

Android m2repository 在我的机器上经常损坏。

使用 Android 我还建议,针对 API 23 (6.0) 进行构建并将最低级别设置为 15(除非你真的需要 API 10)。确保您不使用 "Latest SDK" select 离子,它在过去也被认为会导致问题,select 最高 API 在其下方。

编辑: 此信息现已包含在我们的文档中:https://developer.xamarin.com/guides/android/troubleshooting/resolving-library-installation-errors/

Xamarin.Android 支持库 NuGet m2repository 修复

1。调查

在引用 Android 支持库/Google 播放服务的 NuGet 包时,您可能 运行 遇到下载 m2repository 的问题。

示例错误:

Download failed. Please download https://dl-ssl.google.com/android/repository/android_m2repository_r25.zip and put it to the C:\Users\[Username]\AppData\Local\Xamarin\{SUPPORT LIBRARY NAME}\{VERSION NUMBER} directory."

Mac目录:/Users/[Username]/.local/share/Xamarin/

Windows目录:C:\Users\[Username]\AppData\Local\Xamarin\

2。文件夹内容

此示例将使用 Windows 路径。这可以应用于 OS.

  • 假设如下:C:\Users\[Username]\AppData\Local\Xamarin\

  • 将显示每个 Android 支持库/Google Play 服务的文件夹。

  • 每个库都应该有一个版本集合:

注意: 在这个例子中,我展示了 Android.Support.v4

的所有版本
  • 然后我们将调查我们感兴趣的相应版本。我们应该看到里面有两个文件夹,contentembedded:

  1. content - 包含 m2repository
  2. embedded - 包含相应的 .aar 内容

3。自动修复

  • 删除给您错误的版本库文件夹:

Mac目录:/Users/[Username]/.local/share/Xamarin/{SUPPORT LIBRARY NAME}/{VERSION NUMBER}

Windows目录:C:\Users\[Username]\AppData\Local\Xamarin\{SUPPORT LIBRARY NAME}\{VERSION NUMBER}

  • 重建您的项目(这将启动构建任务以重新下载库)。

4。手动修复

手动修复此错误有两个步骤。

  1. 正在将 m2repository 文件夹添加到 /content 文件夹。
  2. 将相应的 Android 支持库/Google 播放服务 .aar 内容添加到 /embedded 文件夹。
1. 将 m2repository 添加到 /content 文件夹

从 google 下载相应的 m2repository

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

注意:此版本号将根据您的错误消息而有所不同。

  • 将该 .zip 解压缩到任何目录。现在应该有一个 android_m2repository_r25 文件夹。
  • android_m2repository_r25 文件夹中,我们有一个 m2repository 文件夹。
  • m2repository 放入 {VERSION NUMBER}/content 文件夹

2.将.aar内容添加到/embedded文件夹
  • m2repository文件夹里面,有一个.aar是要解析的support library。可以在com\android\support目录中找到:

示例:

m2repository\com\android\support

  • 应该有一个 support-v4\{VERSION NUMBER} 将包含 .aar 文件。
  • 提取 .aar 并将内容放入 embedded 文件夹。

示例:

  • m2repository\com\android\support\support-v4.1.1\support-v4-23.1.1 将包含 aaptaidlassetslibsres、[=47= 等项目]、annotations.zipclasses.jar
  • 将所有内容放入 {VERSION NUMBER}/embedded 文件夹。

5。新的手动修复

  • 获取缺失的m2repository下载URL
  • 在下载时使用 MD5 哈希 URL
  • 将文件重命名为 {MD5HASH}.zip(其中 MD5HASH 是哈希下载 URL)
  • 将新的散列 .zip 文件放入您的 Xamarin\zips 目录

花了整整一个晚上努力让它工作,结果我在初始构建期间强行关闭了 VS,以为它卡住了,不知道它实际上正在将 > 200MB 的文件下载到我的 C:\Users[UserName] \AppData\Local\Xamarin\zips 个文件夹。

删除损坏的 zip 文件并耐心地重新运行重建绝对解决了这个问题。

简单来说

-> 处理并清除您的 Xml 文档中的所有错误 之后

-> 点击 锤子图标 构建和制作项目或者按 Ctrl +F9