Monodroid Google Maps v2 - “LinkAssemblies”任务意外失败
Posted
技术标签:
【中文标题】Monodroid Google Maps v2 - “LinkAssemblies”任务意外失败【英文标题】:Monodroid Google Maps v2 - The "LinkAssemblies" task failed unexpectedly 【发布时间】:2013-08-24 06:15:54 【问题描述】:我正在使用新的 Google Maps v2 制作一个 monodroid 应用。我为 Google Play 服务创建了一个绑定,并使用了它。 当我处于调试模式时一切正常,但在发布时出现以下错误:
System.Exception: The "LinkAssemblies" task failed unexpectedly.
Mono.Cecil.ResolutionException: Failed to resolve android.App.Fragment at
Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) at
Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) at
Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition type) at
Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition assembly) at
Mono.Linker.Steps.MarkStep.Initialize() at Mono.Linker.Steps.MarkStep.Process(LinkContextcontext) at
Mono.Linker.Pipeline.Process(LinkContext context) at
MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context) at
Xamarin.Android.Tasks.LinkAssemblies.Execute() at
Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execue()
at Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext()
如果我删除 Google Play 服务绑定并映射它就可以工作。
有人可以帮忙吗?
编辑:我找到了解决方案:将链接设置为无。但我希望它能够将链接集设置为“仅 SDK 程序集”,因为 apk 文件现在变得很大。
【问题讨论】:
您使用的是哪个版本的 Xamarin.Android?当我引用的其中一个项目是在解决方案的更新版本中构建时,我也发生了类似的事情。 我使用 Xamarin.Android 4.8.0 2 编译这两个项目。我可以通过将链接设置为无来构建它。但希望它能够将链接集设置为“仅限 SDK 程序集”。 请在 Visual Studio 中启用详细的构建输出(例如诊断,阅读此处elbruno.com/2015/01/06/…)并将此信息添加到问题中(例如通过将其发布到gist.github.com) 【参考方案1】:此错误消息的最常见原因是您使用的 Android SDK 目标版本不正确,如本文所述:https://kb.xamarin.com/customer/en/portal/articles/1902736-why-does-my-android-build-fail-with-error-executing-task-linkassemblies-error-xa2006-
要解决此问题,您需要更新到正确的目标,如下所示:https://developer.xamarin.com/guides/xamarin-forms/getting-started/installation/#Android
此外,随着 Xamarin.Android 不时更新;这些目标也可能会更新,因此即使您“今天”设置了正确的版本,如果您稍后更新,最终您可能不得不再次更新它们。
(PS 尽管该指南特定于 Xamarin.Forms,但这些目标是从底层 Xamarin.Android 工具继承的,因此即使您实际上并未使用 Forms,这些设置通常也应该相同,但 只是 Xamarin.Android。)
【讨论】:
以上是关于Monodroid Google Maps v2 - “LinkAssemblies”任务意外失败的主要内容,如果未能解决你的问题,请参考以下文章
Google Maps Android API V2 检查 Google Maps 应用程序是不是被禁用
java Android Google Maps V2 - XML中的MapView
Android studio v0.3.2, gradle, google maps v2.0 找不到类“com.google.android.gms.maps.MapFragment