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

Vai*_*esh 8 android xamarin xamarin-studio xamarin.forms visual-studio-2015

我只是创建一个小的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\21.0.3\content目录.

建议的解决方案: 文件已成功下载并根据错误消息进行替换.


错误2: _请安装软件包:SDK安装程序中提供"Android支持库".Java库文件...〜\ Local\Xamarin\Android.Support.v4\21.0.3\embedded\classes.jar不存在.请安装包:SDK安装程序中提供的"Android支持库".Java库文件...〜\ Local\Xamarin\Android.Support.v4\21.0.3\embedded\libs/internal_impl-21.0.3.jar不存在._

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


错误3: 原因:...〜\ Local\Xamarin\zips\1FD832DCC1792D8ACA07FAC3259FC5A9.zip不是有效的zip文件.

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


这些解决方案仍然无用.并没有在我的情况下工作.


我正在使用 :

  • Xamarin 4.0.0.1689(f860fe4)
  • Xamarin.Android 6.0.0.34(3efa14c)
  • Xamarin.iOS 9.2.1.51(3c0ec35)

这是详细的报告:

=== Xamarin Studio ===

版本5.10(内部版本871)安装UUID:c5309e12-1ab1-494c-9296-033a0a5c3f24运行时:Microsoft .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 Build Tools版本:23.0.1

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

=== Xamarin Android Player ===

版本: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

===操作系统===

Windows 6.3.9600.0(64位)

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

Jon*_*las 13

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

Xamarin.Android支持库NuGet m2存储库修复

1.调查

m2repository在引用Android支持库/ Google Play服务的NuGet包时,您可能会遇到下载问题.

示例错误:

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路径.这可以应用于任一操作系统.

  • 鉴于以下内容: C:\Users\[Username]\AppData\Local\Xamarin\

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

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

注意:在这个例子中,我展示了所有版本的Android.Support.v4

  • 然后我们将调查我们感兴趣的相应版本.我们应该看到里面有两个文件夹,content并且embedded:

  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 Play服务.aar内容添加到该/embedded文件夹.
1.将m2repository添加到/ content文件夹

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用于解析支持库.它可以在com\android\support目录中找到:

例:

m2repository\com\android\support

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

例:

  • m2repository\com\android\support\support-v4\23.1.1\support-v4-23.1.1将包含项目,如aapt,aidl,assets,libs,res,AndroidManifest.xml,annotations.zip,和classes.jar.
  • 将所有内容放入{VERSION NUMBER}/embedded文件夹中.

5.新手动修复

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


Ada*_*ley 6

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

Android m2存储库经常在我的机器上损坏.

使用Android我也建议,根据API 23(6.0)构建并将最低级别设置为15(除非您确实需要API 10).确保您不使用"最新SDK"选项,该选项已知会导致过去的问题,请选择其下方的最高API.