【问题标题】:Xamarin Forms - how to fix broken build? (seems like FormsMap broke it)Xamarin Forms - 如何修复损坏的构建? (好像 FormsMap 把它弄坏了)
【发布时间】:2017-06-02 07:36:03
【问题描述】:

安装 Xamarin Forms Map 后,我现在得到了这个。我试图删除我添加的所有内容(初始化、对清单的更改等)。从一个有效的解决方案变成了一个甚至无法编译的损坏的解决方案。

感谢任何建议

尝试安装当前版本的 Xamarin.Forms.Map : 2.3.3.180

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(_GenerateJavaStubs 目标)->
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:发现重复的托管类型!托管类型和 Java 类型之间的映射必须是唯一的。第一种类型:'Android.Support.V4.OS.CancellationSignal+IOnCancelListenerImplementor, Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null';第二种类型:'Android.Support.V4.OS.CancellationSignal+IOnCancelListenerImplementor, Xamarin.Android.Support.Compat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:对“Android.Support.V4.OS.CancellationSignal.IOnCancelListenerImplementor”类型的引用将引用“Android. Support.V4.OS.CancellationSignal+IOnCancelListenerImplementor,Xamarin.Android.Support.v4,版本=1.0.0.0,文化=中性,PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:发现重复的托管类型!托管类型和 Java 类型之间的映射必须是唯一的。第一种类型:'Android.Support.V4.View.ActionProvider+ISubUiVisibilityListenerImplementor, Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null';第二种类型:'Android.Support.V4.View.ActionProvider+ISubUiVisibilityListenerImplementor, Xamarin.Android.Support.Compat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:对“Android.Support.V4.View.ActionProvider.ISubUiVisibilityListenerImplementor”类型的引用将引用“Android. Support.V4.View.ActionProvider+ISubUiVisibilityListenerImplementor,Xamarin.Android.Support.v4,版本=1.0.0.0,文化=中性,PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:发现重复的托管类型!托管类型和 Java 类型之间的映射必须是唯一的。第一种类型:'Android.Support.V4.View.ActionProvider+IVisibilityListenerImplementor, Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null';第二种类型:'Android.Support.V4.View.ActionProvider+IVisibilityListenerImplementor, Xamarin.Android.Support.Compat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:对“Android.Support.V4.View.ActionProvider.IVisibilityListenerImplementor”类型的引用将引用“Android. Support.V4.View.ActionProvider+IVisibilityListenerImplementor,Xamarin.Android.Support.v4,版本=1.0.0.0,文化=中性,PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:发现重复的托管类型!托管类型和 Java 类型之间的映射必须是唯一的。第一种类型:'Android.Support.V4.View.IOnApplyWindowInsetsListenerImplementor, Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null';第二种类型:'Android.Support.V4.View.IOnApplyWindowInsetsListenerImplementor,Xamarin.Android.Support.Compat,版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:对“Android.Support.V4.View.IOnApplyWindowInsetsListenerImplementor”类型的引用将引用“Android.Support。 V4.View.IOnApplyWindowInsetsListenerImplementor,Xamarin.Android.Support.v4,版本=1.0.0.0,文化=中性,PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:发现重复的托管类型!托管类型和 Java 类型之间的映射必须是唯一的。第一种类型:'Android.Support.V4.View.IViewPropertyAnimatorListenerImplementor, Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null';第二种类型:'Android.Support.V4.View.IViewPropertyAnimatorListenerImplementor, Xamarin.Android.Support.Compat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:对“Android.Support.V4.View.IViewPropertyAnimatorListenerImplementor”类型的引用将引用“Android.Support。 V4.View.IViewPropertyAnimatorListenerImplementor,Xamarin.Android.Support.v4,版本=1.0.0.0,文化=中性,PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:发现重复的托管类型!托管类型和 Java 类型之间的映射必须是唯一的。第一种类型:'Android.Support.V4.View.IViewPropertyAnimatorUpdateListenerImplementor, Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null';第二种类型:'Android.Support.V4.View.IViewPropertyAnimatorUpdateListenerImplementor, Xamarin.Android.Support.Compat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:对“Android.Support.V4.View.IViewPropertyAnimatorUpdateListenerImplementor”类型的引用将引用“Android.Support。 V4.View.IViewPropertyAnimatorUpdateListenerImplementor,Xamarin.Android.Support.v4,版本=1.0.0.0,文化=中性,PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:发现重复的托管类型!托管类型和 Java 类型之间的映射必须是唯一的。第一种类型:'Android.Support.V4.View.MenuItemCompat+IOnActionExpandListenerImplementor, Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null';第二种类型:'Android.Support.V4.View.MenuItemCompat+IOnActionExpandListenerImplementor, Xamarin.Android.Support.Compat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。
    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:警告:对“Android.Support.V4.View.MenuItemCompat.IOnActionExpandListenerImplementor”类型的引用将引用“Android. Support.V4.View.MenuItemCompat+IOnActionExpandListenerImplementor,Xamarin.Android.Support.v4,版本=1.0.0.0,文化=中性,PublicKeyToken=null'。

错误:

/Users/TESTProjects/TEST/Droid/TEST.Droid.csproj(构建)->
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(_CompileJava 目标)->
    obj/Debug/android/src/mono/android/support/v4/app/SharedElementCallback_OnSharedElementsReadyListenerImplementor.java(8,47):javacerror:错误:找不到符号

android.support.v4.app.SharedElementCallback.OnSharedElementsReadyListener
  符号:类 OnSharedElementsReadyListener
  位置:类 SharedElementCallback


obj/Debug/android/src/mono/android/support/v4/view/accessibility/AccessibilityManagerCompat_AccessibilityStateChangeListenerImplementor.java(8,67):javacerror:错误:找不到符号
        android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener
  符号:类 AccessibilityStateChangeListener
  位置:类 AccessibilityManagerCompat


obj/Debug/android/src/mono/android/support/v4/view/accessibility/AccessibilityManagerCompat_TouchExplorationStateChangeListenerImplementor.java(8,67):javacerror:错误:找不到符号
        android.support.v4.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener
  符号:类 TouchExplorationStateChangeListener
  位置:类 AccessibilityManagerCompat


obj/Debug/android/src/mono/android/support/v4/widget/SearchViewCompat_OnCloseListenerImplementor.java(8,45):javacerror:错误:找不到符号
        android.support.v4.widget.SearchViewCompat.OnCloseListener
  符号:类 OnCloseListener
  位置:类 SearchViewCompat

obj/Debug/android/src/mono/android/support/v4/widget/SearchViewCompat_OnQueryTextListenerImplementor.java(8,45):错误:错误:找不到符号
        android.support.v4.widget.SearchViewCompat.OnQueryTextListener
  符号:OnQueryTextListener 类
  位置:类 SearchViewCompat

【问题讨论】:

  • 已尝试再次添加/删除地图,同时删除 Xamarin.GooglePlayServices.* 包,但无济于事。当工具供应商自己的第一方包破坏工作项目时,相当令人沮丧....
  • 您是否也尝试过删除 android 支持库?看起来大部分冲突都来自于此。
  • @SuavePirate - 谢谢,但是 Droid 应用程序中的所有 Xamarin 库是哪些库?我可以再次添加这些包吗?
  • Android.Support 的所有如Xamarin.Android.Support.v4
  • 这个问题你解决了吗?

标签: c# android xamarin mono xamarin.forms


【解决方案1】:

我今天遇到了同样的问题,这似乎与来自两个 C# 项目的两个不同依赖项有关,其中一个被另一个使用/引用。据我所知,可能安装了相同依赖项的两个不同版本。最有可能的是,您可能需要整合您的 NuGet 包。这可能是错误消息试图说的。其中一种重复类型是 Android.Support.V4.View.IViewPropertyAnimatorListenerImplementor,它包含在 Xamarin.Android.Support.v4Xamarin.Android.Support.Compat 两个库中。 至少对于我的解决方案,这是由于 Xamarin.Android.Support.v4 NuGet 包的两个不同版本,即版本 25.3.1 和 23.3.0。由于Xamarin.Forms NuGet 包的依赖关系,我必须明确降级到版本 23.3.0,这似乎可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 2021-04-21
    • 2016-08-24
    • 2010-09-25
    • 1970-01-01
    相关资源
    最近更新 更多