“XamarinBuildAndroidAarProguardConfigs”任务意外失败

Posted

技术标签:

【中文标题】“XamarinBuildAndroidAarProguardConfigs”任务意外失败【英文标题】:The "XamarinBuildAndroidAarProguardConfigs" task failed unexpectedly 【发布时间】:2018-01-02 21:32:48 【问题描述】:

我正在尝试使用 xamarin.android 实现 firebase,但在下载了一些 nugat 包后,我开始收到不同的错误,最新的错误如下:

Severity    Code    Description Project File    Line    Suppression State
Error       The "XamarinBuildAndroidAarProguardConfigs" task failed unexpectedly.
System.IO.InvalidDataException: Central Directory corrupt. ---> System.IO.IOException: An attempt was made to move the file pointer before the beginning of the file.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.SeekCore(Int64 offset, SeekOrigin origin)
   at System.IO.FileStream.Seek(Int64 offset, SeekOrigin origin)
   at System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()
   --- End of inner exception stack trace ---
   at System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()
   at System.IO.Compression.ZipArchive.Init(Stream stream, ZipArchiveMode mode, Boolean leaveOpen)
   at System.IO.Compression.ZipArchive..ctor(Stream stream, ZipArchiveMode mode, Boolean leaveOpen, Encoding entryNameEncoding)
   at Xamarin.Build.Download.XamarinBuildAndroidAarProguardConfigs.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() FireBaseSolution            

android 目标框架:25 一些已安装的参考资料:

Xamarin.Android.Support.v4
Xamarin.Android.Support.v7.AppCompat
Xamarin.GooglePlayServices.Base
Xamarin.Firebase.Messaging

请指导我如何解决它。 谢谢

【问题讨论】:

嗨,我也面临同样的问题。我没有在我的项目中使用任何 Xamarin.Build.Download 包。只需使用您提到的上述软件包。有什么解决办法吗? 【参考方案1】:

对我来说,解决方案是将版本 nuget 包“Xamarin.Build.Download”降级到版本 4.4

【讨论】:

【参考方案2】:

回答一个老问题,但如果其他人最终遇到与我相同的情况(不允许修改 Xamarin.Build.Download 的版本),这可能会对其他人有所帮助,这是我修复它的方法: 我删除了 C:\Users(username)\AppData\Local\XamarinC:\Users(username)\AppData\Local\XamarinBuildDownloadCache 的文件夹并重建了我的解决方案.

我发现当晚我在 Visual Studio 中使用 NuGet 缓存清除工具时,这些目录保持不变。 我只能推测这个问题也可能是由文件损坏引起的(我可能有一个错误的网络连接),并且 DownloadCahe 阻止了尝试获取“干净”文件。

【讨论】:

【参考方案3】:

在 MacOS 上,我必须擦除“~/Library/Caches”中与 Xamarin 相关的所有文件夹。之后它会构建得很好。

【讨论】:

以上是关于“XamarinBuildAndroidAarProguardConfigs”任务意外失败的主要内容,如果未能解决你的问题,请参考以下文章