【问题标题】:Failed to resolve Android.App.Fragment with Link SDK Only enabled仅启用 Link SDK 时无法解析 Android.App.Fragment
【发布时间】:2013-10-02 09:26:11
【问题描述】:

当链接器选项 =“仅 SDK”并显示“无法解析 Android.App.Fragment”消息时,我收到编译时错误。当我通过 FragmentActivity 将 Google 地图支持添加到我的 MonoDroid 应用程序时,这一切就开始了。

使用 Linker option = "None" 一切正常,除了 .apk 变得巨大(仅启用链接 SDK 时约为 30mb 而不是 7mb)

错误详情:

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(LinkContext context)
   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.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()

我发现了很多类似的问题(123),唯一建议的解决方案是禁用链接器,而我的应用程序并非如此。

如何诊断和解决问题?

TIA!

【问题讨论】:

    标签: google-maps xamarin.android xamarin linker-errors android-fragmentactivity


    【解决方案1】:

    您是否到处引用 Mono.Android.Support.v4 类?

    【讨论】:

    • 您的错误消息(无法解析 Android.App.Fragment)表明您在某处使用的是 Android.Fragment 而不是 android.support.v4.app.Fragment。您是否尝试过在解决方案中搜索 Fragment 并检查命名空间?如果这没有帮助,我会尝试找到负责此错误消息的那个类(可能是您的 Google Maps 类)并注释掉或暂时删除它们,直到错误消失。如果您发现是哪个类导致了此问题,请将您的代码复制到此处,我会尽力为您找出问题所在。
    【解决方案2】:

    一段时间以来,我一直在为同样的问题苦苦挣扎。目前,我已成功切换到 Xamarin Updates 的 Alpha 通道并使用 Xamarin.Android 和 Xamarin Studio 的 alpha 版本。运行这些 alphas,我已经能够在启用 Linking 的情况下进行发布构建,没有任何问题。希望对您有所帮助!

    【讨论】:

      【解决方案3】:

      最终,GooglePlayServices Xamarin 组件已更新到 12.0.1,即使使用“仅 SDK”链接器标志,它也不能毫无错误地使用。您可以直接从组件存储中使用它,无需任何绑定预编译。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 1970-01-01
        • 2018-12-16
        • 1970-01-01
        • 2017-12-03
        • 2020-09-28
        • 2014-08-02
        相关资源
        最近更新 更多