6

我正在使用新的 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 文件现在变得很大。

4

1 回答 1

0

此错误消息的最常见原因是您使用的 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,这些设置通常也应相同。)

于 2016-04-12T00:31:52.637 回答